| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 588 人关注过本帖
标题:请教:关于文件操作这样理解对吗?~~~
只看楼主 加入收藏
文山会海
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2004-9-3
收藏
 问题点数:0 回复次数:6 
请教:关于文件操作这样理解对吗?~~~

#include <stdio.h> main() { FILE *fp; int i,k=0,n=0; fp=fopen("d1.dat","w"); for(i=1;i<4;i++) fprintf(fp,"%d",i); fclose(fp); fp=fopen("d1.dat","r"); fscanf(fp,"%d%d",&k,&n); printf("%d%d\n",k,n); fclose(fp); }

执行完输出结果是_____123 0. 我的理解:先以可写的形式打开d1.dat文件,然后在文件的开头连续输入1 2 3三

个字符,关闭文件;再以只读的形式重新打开d1.dat,由于123在文本文件中占3

个字节,分别以1、2、3三个字符的形式存储,从指针当前位置读入第一个字符串

123赋给k,123后为空,故把0赋给n,输出k,n,关闭文件.

搜索更多相关主题的帖子: 文件 
2004-09-03 08:36
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 

不是读字符串,而是直接的判断是不是整形,然后输出!!!

那如果是123456789101112,那怎么输出那,我实验了一下,第一次输出只读到十为就结束了。

为什么????


差点把你忘了...
2004-09-03 09:02
文山会海
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2004-9-3
收藏
得分:0 

1、2、3在文本文件中不是以字符形式存储的吗?

用fscanf读取时,为什么不读取1、不读取12,而读取123呢?

我觉得把123看成字符串是唯一解释得通的~~

2004-09-03 09:28
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 

那你的意思就是说不可以读取大与就的数了???

他回自己判断从开始的那个字符起,后面的时候是整数形式,然后在进行符值的!!!

我现在不理解的是是不是"%d"最多读10个字符!!!那符值又是怎么进行的???

[此贴子已经被作者于2004-09-03 11:59:38编辑过]


差点把你忘了...
2004-09-03 11:58
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

for(i=1;i<4;i++) fprintf(fp,"%d",i); ===>

for(i=1;i<4;i++) fprintf(fp,"%d\n",i);

再对比一下二次结果,你就明白了。


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-09-03 12:35
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 

没有回答我的问题!!!


差点把你忘了...
2004-09-03 13:38
fuwuqiong128
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-8-12
收藏
得分:0 
求助ggjj  如果是想用读出的字符用于计算的话 “123” 该怎么用字符转化成数字123呢??
2006-08-12 11:04
快速回复:请教:关于文件操作这样理解对吗?~~~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022953 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved