C語言 怎麼把char型附加在字串的後面?

時間 2021-05-13 02:33:09

1樓:

#include

sprint ("%s%c", str, c); //str最好是陣列或手動分配後的

2樓:軟酷網

str是乙個指標變數,*str的值為'a',是乙個常量。而+=操作符的左值得是變數,所以執行會報錯。

可以考慮使用陣列:

char str[100] =

"awgweg";

char c='c';

int iLen = strlen(str);

str[iLen] = 'c';

str[iLenb + 1] = 0;

之所以使用陣列,是因為當指標指向字串常量後,其內容是不能修改的。這是常量的特性

3樓:Xi Yang

重新分配大一塊的記憶體,把原來的內容拷到新記憶體裡,把字元加進去,釋放原來的記憶體。

實際上還有很多優化,比如不會每次都重新分配;拷貝的時候不拷貝,等到修改的時候再拷貝,等等。

4樓:

好奇怪的用法, 你是想達到什麼效果?

「awgwegc」這個效果?

str[

strlen

(str)]=

c;str[

strlen;

c 中的字串常量為什麼可以賦值給char

大只姑娘 字串常量本身的特性就是常量不可變,儲存在記憶體的靜態資料區,可以用指標進行字串操作除了改變字串原本內容 char p hello char p的指標指向乙個字串常量的首位址,cout cout p 想要列印出字串的首位址可以強轉下輸出指標的型別,cout void p 準確來說,不是把 h...

用c語言怎麼實現把乙個檔案中所有的字串進行篩選,重複的字串只留下乙個?

NoneType deffunction file,return join set file print function open file name luoxing123 C語言的微笑由我來守護,show you my bug include include include include ty...

C語言中的字串是如何儲存漢字的?

這東西應該和具體的環境有關。在VisualStudio預設情況下,是GBK編碼,兩個位元組存乙個漢字,因此如果引用不慎會造成亂碼。include intmain 輸出 c4 e3 ba c3 編碼 你 c4e3 好 bac3 printf s s 輸出 你好 注 程式正常操作 printf s s ...