BBS.ChinaUnix.net
首页 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 



[C] 麻烦大家帮我调一个fread的小程序
首页 » 论坛 » C/C++ »  
[打印] [订阅] [收藏] [本帖文本页] [推荐此主题给朋友,立即获积分]
wangxiaoguang
风云使者




CU编号: 730256
注册:2008-7-15
最后登录: 2009-04-29
帖子:439
精华:0

可用积分:1412 (家境小康)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


1楼 发表于 2009-1-7 09:16 

#include <stdio.h>
int    main(void)
{
        char buf[10],buf1[10];
        FILE *fp;
        int n;
        fp = fopen("aaaa","r");
        fread(buf,3,1,fp);
        buf[3] =  '\0';
        n=fread(buf1,2,1,fp);
        buf1[2] =  '\0';
        printf("n=%d,buf=%s,buf1=%s",n,buf,buf1);
        return 0;
}
运行结果
n=0,buf=abc,buf1=
>
为什么会换行输出呢?



您对本贴的看法:鲜花[0] 臭蛋[0]
5毛党党员
法王
只送鱼,不教打渔



CU编号: 677490
注册:2008-3-17
最后登录: 2009-07-03
帖子:12959
精华:0

可用积分:11939 (大富大贵)
信誉积分:27
专家积分:222 (本版:62)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


2楼 发表于 2009-1-7 09:25 

你文件的内容是什么啊?



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

我听饼干mm说的:一个人越在意的地方,就是最令他自卑的地方
wangxiaoguang
风云使者




CU编号: 730256
注册:2008-7-15
最后登录: 2009-04-29
帖子:439
精华:0

可用积分:1412 (家境小康)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


3楼 发表于 2009-1-7 09:37 

回复 #2 5毛党党员 的帖子

abc



您对本贴的看法:鲜花[0] 臭蛋[0]
5毛党党员
法王
只送鱼,不教打渔



CU编号: 677490
注册:2008-3-17
最后登录: 2009-07-03
帖子:12959
精华:0

可用积分:11939 (大富大贵)
信誉积分:27
专家积分:222 (本版:62)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


4楼 发表于 2009-1-7 09:45 

那程序的结果没错啊。。。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

我听饼干mm说的:一个人越在意的地方,就是最令他自卑的地方
wangxiaoguang
风云使者




CU编号: 730256
注册:2008-7-15
最后登录: 2009-04-29
帖子:439
精华:0

可用积分:1412 (家境小康)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


5楼 发表于 2009-1-7 09:49 

回复 #4 5毛党党员 的帖子

n=0,buf=abc,buf1=
>
我觉得应该是
n=0,buf=abc,buf1= >
为什么会换行啊



您对本贴的看法:鲜花[0] 臭蛋[0]
eveson
大天使




CU编号: 753873
注册:2008-8-29
最后登录: 2009-07-03
帖子:1816
精华:4

可用积分:9390 (腰缠万贯)
信誉积分:5
专家积分:145 (本版:5)
空间积分:0
推广积分:98

状态:...离线...

[个人空间] [短信] [博客]


6楼 发表于 2009-1-7 09:49 



QUOTE:
原帖由 5毛党党员 于 2009-1-7 09:25 发表
你文件的内容是什么啊?

读到回车了吧



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

想:一群人做同一行业,上班的时间可以一边工作一边在线交流,可能离的很远,也可能近在咫尺。
北京、嵌入式开发、linux,有一定开发经验,符合这三条就可以加进来我的qq群:40298332
wangxiaoguang
风云使者




CU编号: 730256
注册:2008-7-15
最后登录: 2009-04-29
帖子:439
精华:0

可用积分:1412 (家境小康)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


7楼 发表于 2009-1-7 09:58 

回复 #6 eveson 的帖子

n的值是0,说明没有读到值,那么换行符是哪来的啊?



您对本贴的看法:鲜花[0] 臭蛋[0]
emacsnw   帅哥 (Santa Monica)
大天使
Santa Monica


CU奥运火炬传递手2008
CU编号: 283212
注册:2005-6-21
最后登录: 2009-07-04
帖子:1695
精华:2

可用积分:3383 (小富即安)
信誉积分:100
专家积分:65 (本版:55)
空间积分:802
推广积分:0

来自:Santa Monica
状态:...保密...

[个人空间] [短信] [博客]


8楼 发表于 2009-1-7 10:02 



QUOTE:
原帖由 wangxiaoguang 于 2009-1-6 17:58 发表
n的值是0,说明没有读到值,那么换行符是哪来的啊?

buf1没有初始化。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

Santa Monica
eveson
大天使




CU编号: 753873
注册:2008-8-29
最后登录: 2009-07-03
帖子:1816
精华:4

可用积分:9390 (腰缠万贯)
信誉积分:5
专家积分:145 (本版:5)
空间积分:0
推广积分:98

状态:...离线...

[个人空间] [短信] [博客]


9楼 发表于 2009-1-7 10:03 



QUOTE:
原帖由 wangxiaoguang 于 2009-1-7 09:58 发表
n的值是0,说明没有读到值,那么换行符是哪来的啊?

不好意思,没仔细看,我运行了下,我这没有换行输出啊。
你确定每次运行结果都这样吗?



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

想:一群人做同一行业,上班的时间可以一边工作一边在线交流,可能离的很远,也可能近在咫尺。
北京、嵌入式开发、linux,有一定开发经验,符合这三条就可以加进来我的qq群:40298332
cccccc
精灵王




CU编号: 7681
注册:2002-4-27
最后登录: 2009-02-12
帖子:268
精华:0

可用积分:172 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


10楼 发表于 2009-1-7 10:06 



QUOTE:
原帖由 wangxiaoguang 于 2009-1-7 09:49 发表
n=0,buf=abc,buf1=
>
我觉得应该是
n=0,buf=abc,buf1= >
为什么会换行啊

n=0,说明fread没读到数据,buf1的内容没有改变,你的buf1原来的内容未知。如果在fread前,memset(buf1,0,sizeof(buf1)),会得到你预计的结果。



您对本贴的看法:鲜花[0] 臭蛋[0]

首页 » 论坛 » C/C++ »


 


Copyright © 2001-2009 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP

Processed in 0.057853 second(s), 4 queries , Gzip enabled