首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

从文件中逐字读取字符,如何不成功啊

2012-09-15 
从文件中逐字读取字符,怎么不成功啊。。do{for(i 0 (temp fgetc(inputfp) )! \ni++){if ( temp -

从文件中逐字读取字符,怎么不成功啊。。
do
{
for(i = 0; (temp = fgetc(inputfp) )!= '\n';i++)
{
if ( temp = -1)
break;
dangqianhang->wenben[i] = temp;
}
printf("%d",temp);
if ( temp == '\n')//新建行
{
tempnode = (struct line *)malloc (SZ);
dangqianhang->hou = tempnode;
tempnode->qian = dangqianhang;
dangqianhang = tempnode;
dangqianhang->numberofline = linenumber;
linenumber ++;
}
}while(temp !=-1);//判断当前文件没有结束,录入整片文档
dangqianhang->hou = NULL;//以NULL结束链表
大家帮忙看看哦 ,,,不解哦

[解决办法]
你的不成功指的是什么?
这行:printf("%d",temp);
有问题吧。。temp是字符。
[解决办法]
你跟踪一下,看看temp读取成功没有,特别是对于汉字,会超出char的范围
[解决办法]
不要把
fopen("...","...");fscanf,fprintf,fclose //读时把\r\n替换成\n,写时把\n替换成\r\n;读到\x1a就设置EOF;读写的内容当字符看待

fopen("...","...b");fread,fwrite,fclose //不作以上替换,遇到\x1a仍继续读;读写的内容当字节看待
弄混了

[解决办法]
推荐使用WinHex软件查看文件原始字节内容。

热点排行