2
我想連接兩個const char *字符串。strcat期望一個restrict * char?
當我有這樣strcat(a,b)
聲明我得到警告expected ‘char * restrict’ but argument is of type ‘const char *’
有沒有辦法來調用strcat的,不會產生警告? 謝謝!
我想連接兩個const char *字符串。strcat期望一個restrict * char?
當我有這樣strcat(a,b)
聲明我得到警告expected ‘char * restrict’ but argument is of type ‘const char *’
有沒有辦法來調用strcat的,不會產生警告? 謝謝!
strcat()
修改第一個操作數。因此它不能是const
。但你通過了一個const char*
。
因此,您不能在兩個const *char
字符串上使用strcat()
。
非常感謝!它導致了一些醜陋的語句,但工作得很好,而不是說'char * c = strcat(a,b); '我可以使用'char * c = strcat(strcat(c,a),b);'提供我已經malloc'd c。 – user974703 2012-02-13 21:22:07
@ user974703:你最好確定你'malloc' *和*將'c'指向的內存設置爲0,因爲'malloc'不會爲你做。或者,使用'strcat(strcpy(c,a),b);'。或者,因爲'strcat'效率不高,'sprintf(c,「%s%s」,a,b);' – 2012-02-13 21:52:31