c语言如何读取dat文件?
答案:2 悬赏:40 手机版
解决时间 2021-11-15 20:42
- 提问者网友:聂風
- 2021-11-15 12:38
c语言如何读取dat文件?
最佳答案
- 五星知识达人网友:举杯邀酒敬孤独
- 2021-11-15 13:28
dat文件和普通txt文件相同,都是文本格式,使用普通文本操作函数读取即可。
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。
2、例程:
#include
int a;
char b,c[100];
int main(){
FILE * fp1 = fopen("input.dat", "r");//打开dat格式的输入文件
FILE * fp2 = fopen("output.txt", "w");//打开输出文件
if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出
puts("不能打开文件!");
rturn 0;
}
fscanf(fp1,"%d",&a);//从输入文件读取一个整数
b=fgetc(fp1);//从输入文件读取一个字符
fgets(c,100,fp1);//从输入文件读取一行字符串
printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数
fputs(c,fp2);//向输出文件写入一行字符串
fputc(b,fp2);//向输出文件写入一个字符
fprintf(fp2,"%d",a);//向输出文件写入一个整数
fclose(fp1);//关闭输入文件
fclose(fp2);//关闭输出文件,相当于保存
return 0;
}
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。
2、例程:
#include
int a;
char b,c[100];
int main(){
FILE * fp1 = fopen("input.dat", "r");//打开dat格式的输入文件
FILE * fp2 = fopen("output.txt", "w");//打开输出文件
if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出
puts("不能打开文件!");
rturn 0;
}
fscanf(fp1,"%d",&a);//从输入文件读取一个整数
b=fgetc(fp1);//从输入文件读取一个字符
fgets(c,100,fp1);//从输入文件读取一行字符串
printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数
fputs(c,fp2);//向输出文件写入一行字符串
fputc(b,fp2);//向输出文件写入一个字符
fprintf(fp2,"%d",a);//向输出文件写入一个整数
fclose(fp1);//关闭输入文件
fclose(fp2);//关闭输出文件,相当于保存
return 0;
}
全部回答
- 1楼网友:一把行者刀
- 2021-11-15 14:27
这里有一个文件读取的例子。。几天前编写的。。。你去看一下:FILE 读取把。
#include
#include
int main(){
FILE *fin,*fout;
char ss[50] ;
int a,b,c;
fout=fopen("C:\Users\123\Documents\Visual Studio 2010\Projects\test1\TextFile1.txt","w");
while(scanf("%s %d %d %d",ss,&a,&b,&c)){
if(a==0&&b==0&&c==0)
break;
fprintf(fout," %s %d %d %d",ss,a,b,c);
}
fclose(fout);
fin=fopen("C:\Users\123\Documents\Visual Studio 2010\Projects\test1\TextFile1.txt","r");
fout=fopen("C:\Users\123\Documents\Visual Studio 2010\Projects\test1\TextFile2.txt","w");
while(!feof(fin))
{
fscanf(fin,"%s %d %d %d ",ss,&a,&b,&c);
fprintf(fout,"%s %d %d %d %d ",ss,a,b,c,a+b+c);
printf("%s %d %d %d %d ",ss,a,b,c,a+b+c);
}
fclose(fin);
fclose(fout);
}
#include
#include
int main(){
FILE *fin,*fout;
char ss[50] ;
int a,b,c;
fout=fopen("C:\Users\123\Documents\Visual Studio 2010\Projects\test1\TextFile1.txt","w");
while(scanf("%s %d %d %d",ss,&a,&b,&c)){
if(a==0&&b==0&&c==0)
break;
fprintf(fout," %s %d %d %d",ss,a,b,c);
}
fclose(fout);
fin=fopen("C:\Users\123\Documents\Visual Studio 2010\Projects\test1\TextFile1.txt","r");
fout=fopen("C:\Users\123\Documents\Visual Studio 2010\Projects\test1\TextFile2.txt","w");
while(!feof(fin))
{
fscanf(fin,"%s %d %d %d ",ss,&a,&b,&c);
fprintf(fout,"%s %d %d %d %d ",ss,a,b,c,a+b+c);
printf("%s %d %d %d %d ",ss,a,b,c,a+b+c);
}
fclose(fin);
fclose(fout);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯