Запутлася со строками(( помогите плиз
От: r1der Россия  
Дата: 28.08.09 23:39
Оценка:
допустим есть следующее объявление
char p[]="testtest";
p[5]="1";

почему компилятор ругается невозможно преобразовать 'const char [2]' в 'char'
когда в книге страуструпа именно такой код
как правильно присвоить?
или допустим код..

char * p="testtest";
cout<<p; //выводит testtest
cout<<*p; //аналогично p[0]
cout<<*(p+1) //аналогично p[1]
// p[1]="x"; выводит ошибку.. мы ведь инициализировали массив p почему мы не можем изменить его значения?

то есть никак нельзя работать со стокой, то есть с массивом символов кроме как через другой указатель?
char * x =p;
*x="y"; // почему то тоже выдало ту же самую ошибку..

понятно что теперь надо работать с помощью функции strcpy
вот ее код
char *strcpy(char *dst, const char *src)
{
char *cp = dst;
while (*cp++ = *src++);
return dst;
}

но что я сделал неправильно? так же создал указатель x на первый элемент массива.. и пытался изменить через x массив p
непонимаю((( перелистал страуструпа.. либерти.. ничего((

вот другой код. допустим создаем массив указателей на char
char * arr_of_ptr[10];
for (int i=0;i<sizeof(arr_of_ptr)/sizeof(char);i++)
arr_of_ptr[i]=new char[5] // а как тут же каждый массив из 5 символов проиницализировать или как получить к нему доступ на зппись?
то есть как обратиться к конкретному указателю.. или изменить какой либо эелемент одного из массивов char на которые указывают указаттели из массива arr_of_ptr или я чего то не понимаю?? помогите плиз)) заранее спасибо)) кстати кто нибудь идет сегодня на chaos construcion?))
icq 314624
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.