c语言如何读取dat文件?

c语言如何读取dat文件?,第1张

dat文件和普通txt文件相同,都是文本格式,使用普通文本 *** 作函数读取即可。

1、C语言标准库提供了一系列文件 *** 作函数。文件 *** 作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件 *** 作位置的获取与设置。

2、例程:

#include<stdio.h>

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

}

#include<stdio.h>// 这里假设文件是文本格式的

void main() { int ichar fnm[20],pf[30][256]FILE *fp

for ( i=0i<30i++ ) {

sprintf(fnm,"test%d.dat",i+2)

if ( fp=fopen(fnm,"r") ) {

fscanf(fp,"%s",pf[i])printf("%s\n",pf[i])

fclose(fp)

}

}

}

C语言的文件 *** 作是用指针来完成的,你首先需要一个文件指针

FILE*

fp

然后调用一批 *** 作文件的函数来读写文件。

fopen()

打开文件

fread()

读文件

fseek()在文件中前进后退

fclose()关闭文件

C++语言的文件 *** 作是面向对象的方式的,你首先要有一个文件对象,文件对象初始化的时候传入文件名,就构造出了读写文件的对象,然后 *** 作这些对象来完成读写。

ifstream

file1("c:\\pdos.def")//以输入方式打开文件,file1是一个读文件对象。

ofstream

file2("c:\\x.123")//以输出方式打开文件

,file2是一个写文件对象。

例如关闭文件就调用

file1.close()

读入文件可以用get成员函数

file2.get(str1,

1024,

'\n')

//从文件中读取字符到字符串str1,当遇到回车或读取了1024个字符时终止。

检测是否到达文件结尾用eof函数

if(file2.eof())

printf("已经到达文件尾!")

C++ *** 作文件的前进后退的函数是

seekg()和

seekp(),例如

file1.seekg(128,ios::end)//把文件的读指针从当前位置向后移128个字节

file2.seekp(1024,ios::beg)//把文件的写指针从文件开头向后移1024个字节

还有最后一点,就是不管是什么语言,当你读一个文件的时候,你需要弄清楚文件的格式,例如文件中的数据是弄哪种分隔符的,是tab还是回车还是逗号分隔,针对具体的文件格式编写自己的读写函数,C++提供的标准函数并不能直接帮你完成各种格式的读取。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11416561.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存