06/07/06 14:51:10
>>682
おかしくなるのは仕様です。面倒ですが、次のように大きなバッファを用意して、
そこに一旦とりこむ必要があります。配列の大きさよりひとつ少なくしか使えないのは、
最後にヌル文字を入れる必要があるからです。
#include <stdio.h>
#include <string.h>
int main(void)
{
char buf[1024];
char gg[22];
char hh[33];
printf("数列入れて>\n");
fgets(buf, sizeof buf, stdin);
buf[strlen(buf) - 1] = '\0';
memset(gg, '\0', sizeof gg);
strncpy(gg, buf, sizeof gg - 1);
printf("数列いれ>\n");
fgets(buf, sizeof buf, stdin);
buf[strlen(buf) - 1] = '\0';
memset(hh, '\0', sizeof hh);
strncpy(hh, buf, sizeof hh - 1);
}