im пытается скопировать массив const char в какое-то место в памяти и указывать на него.указатель, malloc и char в C
позволяет сказать им определения этого вар под основной прог:
char *p = NULL;
и отправить его в функцию со строкой:
myFunc(&p, "Hello");
теперь я хочу, чтобы в конце этой функции указатель укажет на букву H, но если я поместил(), он будет печатать Hello.
вот что я пытался сделать:
void myFunc(char** ptr , const char strng[]) {
*ptr=(char *) malloc(sizeof(strng));
char * tmp=*ptr;
int i=0;
while (1) {
*ptr[i]=strng[i];
if (strng[i]=='\0') break;
i++;
}
*ptr=tmp;
}
я знаю его мусор сейчас, но я хотел бы понять, как сделать это правильно, моя идея состояла в том, чтобы выделить необходимую память, скопировать символ и двигаться вперед с указателем и т. д.
также я попытался сделать аргумент ptr byreferenec (как & ptr), но без успеха из-за проблемы с lvalue и rvalue.
Единственная вещь меняющаяся для меня функция, и я бы хотел не использовать строки, но символы как это, так и упражнения.
благодарит за любую помощь заранее.
Почему ты пытаясь использовать управление памятью C в C++? –
thats способ, которым я хочу это сделать (без использования новой команды), на самом деле упражнение находится на C, но у меня есть только Visual C++ на моем ПК. – user2534078
Тогда вы должны пометить свой вопрос 'C', иначе вы получите ответы' C++'. – juanchopanza