| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 520 人关注过本帖
标题:谁能解释一下这个函数?还有,这里面的变量i代表什么?
只看楼主 加入收藏
skyerblue
Rank: 2
来 自:安徽
等 级:论坛游民
帖 子:24
专家分:60
注 册:2011-8-9
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:8 
谁能解释一下这个函数?还有,这里面的变量i代表什么?
void ReadWrite()
{
char ch,str[81],substr[3];
int n,len,i=0;
FILE *rf,*wf;
rf=fopen("in68.dat","r");
wf=fopen("out68.dat","w");
while(i<5)
{
fgets(str,80,rf);
fgets(substr,10,rf);
len=strlen(substr)-1;
ch=substr[len];   
if(ch=='\n'||ch==0x1a)
substr[len]=0;
n=findStr(str,substr);
fprintf(wf,"%d\n",n);
i++;
}
fclose(rf);   
fclose(wf);
}
搜索更多相关主题的帖子: void void 
2011-08-14 18:11
loveshuang
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
帖 子:270
专家分:1198
注 册:2010-11-14
收藏
得分:10 
这个程序是否有误呢?substr定义的只有3个char大小,怎么读取的时候是可以读10个呢:fgets(substr,10,rf);
这个程序应该是先读取in86文件中的80个字符存在str中,在读取接着的10个字符存在substr中,检查看substr中的10个字符尾部是否为'\n'或0x1a,如果是的话就设为0也就是字符串的结尾。再在str中查找substr的位置,把位置存入out86文件中;依次这样循环5次,i的作用就是循环
2011-08-14 20:11
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
你自己写的?这是从一个文件中读入两行,在第一行中寻找第二行出现的位置,然后把这个位置写到输出文件中。i只是计数器,这个动作重复5次。不过,这个设计是有问题的,恐怕不能达到目的,虽然我不大把得准它到底想干什么。根据fgets()函数的动作,它读文件时遇到回车符或换行符时结束,即读入一行(除非这行的长度超过指定的最大字符数),但无论如何,读入的字符串中都不会有13(回车)和10(换行),而你的函数显然在第二个字符串试图过滤这些字符,特别是那个len=strlen(substr)-1令人费解。

授人以渔,不授人以鱼。
2011-08-14 20:19
黑灵yu
Rank: 2
等 级:论坛游民
帖 子:4
专家分:11
注 册:2011-8-13
收藏
得分:0 
file是什么啊
2011-08-14 20:34
黑灵yu
Rank: 2
等 级:论坛游民
帖 子:4
专家分:11
注 册:2011-8-13
收藏
得分:0 
想找个朋友一起学习c语言我也是初学QQ1216988088
2011-08-14 20:35
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 4楼 黑灵yu
是FILE,一种结构体,专用于文件处理的。建立的fp是指针,指向FILE类型变量,故声明是FILE* fp;

授人以渔,不授人以鱼。
2011-08-14 20:46
skyerblue
Rank: 2
来 自:安徽
等 级:论坛游民
帖 子:24
专家分:60
注 册:2011-8-9
收藏
得分:0 
回复 2楼 loveshuang
我想知道为什么事循环5次。。。
2011-08-14 21:06
skyerblue
Rank: 2
来 自:安徽
等 级:论坛游民
帖 子:24
专家分:60
注 册:2011-8-9
收藏
得分:0 
回复 3楼 TonyDeng
这是3级地一道题目的。。。
2011-08-14 21:07
skyerblue
Rank: 2
来 自:安徽
等 级:论坛游民
帖 子:24
专家分:60
注 册:2011-8-9
收藏
得分:0 
回复 3楼 TonyDeng
那个len是定义成数组substr的最后一个字符的下标的。。。
2011-08-14 21:09
快速回复:谁能解释一下这个函数?还有,这里面的变量i代表什么?
数据加载中...
 
   



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

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