09/04/08 22:31:21
>>941
C言語の文字列では,終端記号があることを前提にしています。
しかし,charの配列を確保しただけでは文字列として初期化されているわけではないのです。
以下の例は,終端記号の存在(文字列としての初期化)を忘れたために失敗してしまった例です
#include <stdio.h> /* puts() */
#include <string.h> /* strcat() */
int main()
{
char buff[128] = ""; // こうすればおk
strcat( buff, "ABC" ) ;
puts( buff ) ; /* ABCと表示したい */
return 0 ;
}