Я пытаюсь скопировать char один за другим с одного указателя на другой с некоторыми манипуляциями. Я попытался использовать strcat(), strncat(), strcpy(), strncpy(), но продолжать получать ошибки. Как я могу скопировать символ из указателя источника в указатель назначения?
Я изначально передал одиночные кавычки как arg 2 strcat, и это не сработало. Когда я сменил его на двойные кавычки, он сработал. Связано ли это с «строковыми константами» с «символьными константами» или с чем-то совершенно другим?C символьная манипуляция строки из const char * src to char * dest
void korsoroi(char *dest, const char *src) {
int wcount = 0;
int i = 0;
while (src[i] != '\0') {
if (src[i] == 'k' && src[i + 1] == 's') {
strcat(dest, "x");
i++;
}
else if (src[i] == 't' && src[i + 1] == 's') {
strcat(dest, "z");
i++;
}
else if (src[i] == ' ') {
wcount++;
if (wcount % 3 == 0) {
strcat(dest, " niinku");
}
if (wcount % 4 == 0) {
strcat(dest, " totanoin");
}
}
else {
//expected 'const char *' but argument is of type 'char'
// strcat(dest, src[i]);
// strcat(dest, *(src + i);
//warning: cast to pointer from integer of different size
// strcat(dest, (char*)src[i]);
//returns strange characters but compiles
//dest[strlen(dest)] = src[i];
}
i++;
}
}
http://2016-aalto-c.tmchq.co/en/Module_2/ Задача 08
является 'dest' записи и имеет достаточно памяти? –
Вы можете предположить, что достаточно места в адресе dest для хранения полученной строки. –