fread哪里出错了?

SHOUYU2 2010-10-27 03:02:24
abc.txt里面的内容是:
thisisok
想将字符窜三个三个字存进数组list里。
thi存进list[0];
sis存进list[1]。。。。;
fread是不是哪里用错了?


#include <stdio.h>
#include <stdlib.h>
#include <string.h>


main( )
{

char list[4][10];
FILE *fp;
fp=fopen("d://abc.txt","w");

for(int i =0;i <3;i++)
fread( list[i], sizeof( char ), 3, fp );
printf("%s",list[0]);
printf("%s",list[1]);
}
...全文
127 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
searchfor1115 2010-10-27
  • 打赏
  • 举报
回复
fread错也有很多种,你出现了异常?还是说输出结果错。
提问的时候要说清楚。
searchfor1115 2010-10-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 shouyu2 的回复:]
abc.txt里面的内容是:
thisisok
想将字符窜三个三个字存进数组list里。
thi存进list[0];
sis存进list[1]。。。。;
fread是不是哪里用错了?


#include <stdio.h>
#include <stdlib.h>
#include <string.h>


main( )
{

char list[4][10……
[/Quote]
fp=fopen("d://abc.txt","w");

for(int i =0;i <3;i++)
fread( list[i], sizeof( char ), 3, fp );

***********************
1、fp=fopen("d://abc.txt","w"); ----------w改成r
2、fp加判断,看打开是否成功
赵4老师 2010-10-27
  • 打赏
  • 举报
回复
不要把
fopen("...","...");fscanf,fprintf,fclose //读时把\r\n替换成\n,写时把\n替换成\r\n;读到\x1a就设置EOF;读写的内容当字符看待

fopen("...","...b");fread,fwrite,fclose //不作以上替换,遇到\x1a仍继续读;读写的内容当字节看待
弄混了
SHOUYU2 2010-10-27
  • 打赏
  • 举报
回复
用rb就好了,之前用w不小心把以前文档内容清空了。。。
SHOUYU2 2010-10-27
  • 打赏
  • 举报
回复
我改了,还是不行啊,各位有成功运行的吗?
aozhi 2010-10-27
  • 打赏
  • 举报
回复
"rb"比较好
無_1024 2010-10-27
  • 打赏
  • 举报
回复
fp=fopen("d://abc.txt","r");//最好用a+



for(int i =0;i <3;i++)
fread( list[i], sizeof( char ), 1, fp );
justkk 2010-10-27
  • 打赏
  • 举报
回复
另外应该对list初始化一下
memset(list, 0, sizeof(list));
justkk 2010-10-27
  • 打赏
  • 举报
回复
fp=fopen("d://abc.txt","w");
读取应该是rb
whg01 2010-10-27
  • 打赏
  • 举报
回复
fp=fopen("d://abc.txt","r"); w是写,r是读。
昵称很不好取 2010-10-27
  • 打赏
  • 举报
回复
换成fprintf试试

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧