C语言对文件进行读取之前需要先打开文件,然后再进行读写,读写完之后关闭文件。
创新互联公司2013年开创至今,是专业互联网技术服务公司,拥有项目成都网站建设、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元九台做网站,已为上家服务,为九台各地企业和个人服务,联系电话:18982081108
可以使用两组函数实现:
一、C语言库函数
打开文件:fopen
读写(一般对应成对使用):
fgetc---fputc fgets---fputs fread---fwrite
关闭文件:fclose
二、Linux系统函数
打开文件:open
读写(一般对应成对使用):read---write
关闭文件:close
c语言提供的标准库中就有文件操作函数
关于文件读取的有
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
int fgetc(FILE *stream);
char *fgets(char *s, int size, FILE *stream);
int getc(FILE *stream);
int fscanf(FILE *stream, const char *format, ...);
int vfscanf(FILE *stream, const char *format, va_list ap);
ssize_t getline(char **lineptr, size_t *n, FILE *stream);
ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream);
等
读取一个文件的步骤一般为
1、打开文件
2、读取
3、关闭文件
打开文件的方法是使用fopen函数
FILE *fopen(const char *path, const char *mode);
其中第一个参数为要打开的文件的路径
第二个表示以何种方式打开
包括
r 只读取打开
r+ 读写
w 只写
w+ 读写
a 追加
a+ 可读,追加
b 以二进制方式打开
关闭文件的方法是使用fclose函数
int fclose(FILE *fp);
一个简单的示例代码如下
#include stdio.h
int main(int argc,char **argv)
{
FILE *fp;
char buf[512];
size_t n;
if((fp=fopen(argv[1],"rb")) == NULL)
{
printf("打开文件出错!\n");
return -1;
}
while(!feof(fp))
{
n=fread(buf,sizeof(char),sizeof(buf)-1,fp);
buf[n]='\0';
printf("%s",buf);
}
fclose(fp);
printf("\n");
return 0;
}
不同的操作系统也会提供相应的操作文件的接口
也有相应的文件操作库也会提供相应接口
不过读取文件的步骤基本是一致的
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。
2、例程:
#includestdio.h
int a;
char b,c[100];
int main(){
FILE * fp1 = fopen("input.txt", "r");//打开输入文件
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;
}
用C语言从txt文件中读取数据,可以使用C标准库文件自带的文件接口函数进行操作。
一、打开文件:
FILE *fopen(const char *filename, const char *mode);
因为txt文件为文本文件, 所以打开时选择的mode应为"r"或者"rt"。
二、读取文件:
读取文件应根据文件内容的格式,以及程序要求,选择读取文件的函数。可以使用一种,也可以几种混用。 常用的文件读取函数如下:
1、fgetc, 从文件中读取一个字节并返回。 适用于逐个字节读取。
2、 fgets, 从文件中读取一行。适用于整行读取。
3、fscanf, 格式化读取文件, 在已经清楚文件存储格式下,可以直接用fscanf把文件数据读取到对应类型的变量中。
4、fread, 整块读取文件, 对于txt文件比较少用。
三、关闭文件:
读取结束后,应调用fclose函数关闭文件。