LINUX.ORG.RU

String


0

0

Добрый Вам час! Тут такая тема: без долгих рассуждений, перечислите ПОЖАЛУЙСТО следующие операции на с++, а я их на паскале накатаю: [1| i:=pos('asd','bgtrasd');][2|str1:=copy(str2,1,4);][3|delete(str1,3,4);][4|str1:= str1+str2], да и еще, есть ли кокие нибудь функции преобразования [char *s]<->[char d[x]], почему у меня не получается сделать cout<<s;, где s это char *s?

anonymous

>[1| i:=pos('asd','bgtrasd');]
std::string x = "bgtrasd";
size_t pos = x.find("asd");
if (pos == -1) printf ("not found\n");


>[2|str1:=copy(str2,1,4);]
std::string a = "12345";
std::string b = a.substr(1,4);

>[3|delete(str1,3,4);]
Тут руками через вторую и четвертую операцию надо.
Либо erase();

>[4|str1:= str1+str2]

std::string a = "hello ";
std::string b = "world";
std::string c = a + b;

>[char *s]<->[char d[x]]
Вероятно ты говоришь о char* <-> int, тогда:
int -> char*

int d = 100;
char buf[1024];
sprintf(buf, "%u\n", d);
printf ("%s", buf);

char* -> int

int d = atol("100");

Воображаю какой надежностью будут обладать переписанные так программы.
Книжки читай по C/C++/STL.
Вот ответы на все твои вопросы: http://www.sgi.com/tech/stl/basic_string.html

linuxsoft
()
Ответ на: комментарий от anonymous

std::string

Тогда вопрос -> [1|как преобразовать std::string в char] [2|если std:string str1="12345" то возможно ли посмотреть 3 элемент str1 без использования s.substr(3,1), как элемент массива s[3]]; [3|некаторые функции вывода не хотят выводить переменную char *s, а выводят только char s[20], в чем у них разница, и как прийти к типу каторый всетаки будет выводиться],..... зарание благодарен! :)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.