大家可以看看下面这个函数:
void Location(char buf[])
{printf("%s\n",buf);
int MY_FILE;
MY_FILE = open("floor",O_RDWR|O_CREAT|O_TRUNC);
write(MY_FILE,buf,N);
close(MY_FILE);
}
void Location(char buf[5])
{printf("%s\n",buf);
int MY_FILE;
MY_FILE = open("floor",O_RDWR|O_CREAT|O_TRUNC);
write(MY_FILE,“1111”,5);
close(MY_FILE);
}
都会出现写入乱码;而:void Location(char buf[])
{printf("%s\n",buf);
int MY_FILE;
MY_FILE = open("floor",O_RDWR|O_CREAT|O_TRUNC);
write(MY_FILE,buf,sizeof(buf));
close(MY_FILE);
}
则不会,这是因为没有初始化数组引起的,数组没初始化的部分是不可预知的····