Объединить до конца строки в C легко:
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]){
char str[15] = "new ";
printf("old str = %s\n", str);
strcat(str, "word");
printf("new str = %s\n", str);
return 0;
}
Вывод:
old str = new
new str = new word
Но когда я добавляю к началу массива я делаю это:
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]){
char str[15] = "word";
char newStr[15] = "new ";
printf("str = %s\n", str);
strcat(newStr, str);
printf("new str = %s\n", newStr);
return 0;
}
Вывод:
str = word
new str = new word
Но есть ли функция, которая позволяет мне добавлять в начало строки в одна линия? Чтобы быть более понятным, есть ли способ добавить в начало строки, не создавая два разных массива char
? Я просто чувствую, что мой код выглядел бы намного чище, если бы я мог просто сделать это:
полусудо-код функции добавления
str = "word";
append(str, "new ");
и при печати даст следующий вывод:
str = word
new str = new word
Что-то вроде этого сделало бы мою жизнь намного проще, так как в последнее время я много работал с файловыми вводами.
Спасибо!