| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 353 人关注过本帖
标题:谁能够详细解释一下这个函数,看不懂
只看楼主 加入收藏
skyerblue
Rank: 2
来 自:安徽
等 级:论坛游民
帖 子:24
专家分:60
注 册:2011-8-9
结帖率:83.33%
收藏
已结贴  问题点数:10 回复次数:2 
谁能够详细解释一下这个函数,看不懂
void ReadDat()
{
FILE *fp;
char str[80], ch[11];
int i;
fp = fopen("IN3.DAT", "r");
for (i = 0; i < 100; i++)
{
fgets(str, 80, fp);
memcpy(sell[i].dm, str, 4);
memcpy(sell[i].mc, str + 4, 10);
memcpy(ch, str + 14, 4); ch[4] = 0;
sell[i].dj = atoi(ch);
memcpy(ch, str +18, 5); ch[5] = 0;
sell[i].sl = atoi(ch);
sell[i].je = (long)sell[i].dj * sell[i].sl;
}
fclose(fp);
}
2011-08-09 21:26
小曹
Rank: 2
等 级:论坛游民
帖 子:8
专家分:24
注 册:2010-3-8
收藏
得分:10 
第一句 说明此指针的类型是FILE*(FILE类型在<stdio.h>中声明)。
FILE *fopen(const char* restrict filename,const char* restrict mode);这个是 fopen函数的原型。意思是打开文件,第一个参数是含有要打开的文件名的字符串,第二个参数是“格式字符串”,它用来指定打算对文件执行的操作,程序中的“r’表明将从文件读入数据,但是不会向文件写入数据。对了 函数原型中的restrict可以省略。
fgets(str,80,fp);  fclose(fp);表示输入函数 和关闭 文件。
2011-08-09 21:46
skyerblue
Rank: 2
来 自:安徽
等 级:论坛游民
帖 子:24
专家分:60
注 册:2011-8-9
收藏
得分:0 
void ReadDat()
{
FILE *fp;
char str[80], ch[11];
int i;
fp = fopen("IN3.DAT", "r");
for (i = 0; i < 100; i++)
{
//从"IN3.DAT"文件中读取79个字符 存入str[80]这个数组里
fgets(str, 80, fp);
//读取由str为起始地址的连续4个字节,存入sell[i].dm
memcpy(sell[i].dm, str, 4);
//读取由str+ 4为起始地址的连续10个字节,存入sell[i].mc
memcpy(sell[i].mc, str + 4, 10));
//读取由str+14为起始地址的连续10个字节,存入sell[i].mc
memcpy(ch, str + 14, 4); ch[4] = 0;
sell[i].dj = atoi(ch);//将ch指向的字符串转换为整数 应该是单价吧
memcpy(ch, str +18, 5); ch[5] = 0;
//同上 算出数量
sell[i].sl = atoi(ch);
//这个应该是总价
sell[i].je = (long)sell[i].dj * sell[i].sl;
}
fclose(fp);
}
2011-08-10 01:19
快速回复:谁能够详细解释一下这个函数,看不懂
数据加载中...
 
   



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

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