C语言文件读取数据问题

[复制链接]
查看11 | 回复2 | 2011-4-19 03:38:37 | 显示全部楼层 |阅读模式
要在asd.txt中读取几个字(不要全部读取)...如果文件是空的就显示NO WORLD。。。
#includestdio.h
#includestdlib.h
main()
{
char a[10][10];
int i=0,n;
char ch;
FILE *fp;
fp=fopen(\"asd.txt\",\"r\");
n=0;
while((ch=fgetc(fp))!=EOF)
n;
printf(\"%d\",n);
if(n!=0)
{
for(i=0;i2;i)
{
fscanf(fp,\"%2s\\n\",a);
printf(\"%s\",a);
}
}
else
printf(\"NO WORLD\\n\");
fclose(fp);
}
如果文件有内容,一运行就是一排“烫”字。。。怎么弄?
回复

使用道具 举报

千问 | 2011-4-19 03:38:37 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">VC经常输出烫的原因是,在vc的debug编译选项下,栈区的未初始化数据,每一个byte都被设置为0xCC,cccc的汉字编码就是“烫”。虽然你有读入文件,但是,因为你对a开设的栈很大(100个字节)这样没有被填充的属性剩余空间保持了默认的0xcc。解决办法两个,一是把debug模式改为release模式,另一个是先把a[10][0]初始化。

















<h4 class=\"ask\">追问





<pre class=\"replyask-text\" id=\"content-4761316\">能给个修改的代码吗?初学者,不是很理解啊。。。谢谢了。。。
回复

使用道具 举报

千问 | 2011-4-19 03:38:37 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-4807619\">//修改下面一行
char a[10][10]={0};

int i=0,n;
char ch;
FILE *fp;
...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行