我正在學習c中的字符串。我使用code :: blocks作爲編譯器,即使它不僅僅適用於c。所以,下面代碼的問題是string2的輸出是存儲的5個字符加上string1的輸出。我會告訴你:在C中複製字符串
#include <stdio.h>
#include <string.h> /* make strncpy() available */
int main()
{
char string1[]= "To be or not to be?";
char string2[6];
/* copy first 5 characters in string1 to string2 */
strncpy (string2, string1, 5);
printf("1st string: %s\n", string1);
printf("2nd string: %s\n", string2);
return 0;
}
輸出是:
1st string contains: To be or not to be?
2nd string contains: To be To be or not to be?
如果你問我,這比5個字符多了很多......
謝謝。我認爲第二種選擇超出了我的想法,但是我能夠在程序中正確使用第一個選項。非常感激。 :)可愛的寶寶,順便說一句。 –
@Michael第二個選項比較好,它基本上在字符串中最後一個重要字符之後加上'\ 0'。謝謝 ;) –