
一、打开文件:
FILE *fopen(const char *filename, const char *mode)
因为txt文件为文本文件, 所以打开时选择的mode应为"r"或者"rt"。
二、读取文件:
读取文件应根据文件内容的格式,以及程序要求,选择读取链手文件的函数。可以使用一种,也可以几种混用。 常用的文件读取函数如下:
1、fgetc, 从文件中读取一个字节并返回。 适用于逐个字节读取。
2、 fgets, 从文件中读取一行盯仔。适用于整行读取。
3、fscanf, 格式棚则嫌化读取文件, 在已经清楚文件存储格式下,可以直接用fscanf把文件数据读取到对应类型的变量中。
4、fread, 整块读取文件, 对于txt文件比较少用。
三、关闭文件:
读取结束后,应调用fclose函数关闭文件。
用到的C函数fgets
fopen
fclose
fgets
的具体用法为:
fgets(由文件中读取一字符串)
相关函数
open,fread,fscanf,getc
表头文件
include<stdio.h>
定义函数
char
*
fgets(char
*
s,int
size,FILE
*
stream)
函数说明
fgets()用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间,直到纤薯出现换好竖亏行字符、读到文件尾或是已读了size-1个字符为止,最后会加上NULL作为字符串结束。
返回值
gets()若成功则返回s指针,返回NULL则表示有错误发生。
范例
#include<stdio.h>
void
main()
{
char
s[80]
fputs(fgets(s,80,stdin),stdout)
}
但是首先要先打开文本文件,然后再进行读写 *** 作,最后别忘记关闭文件。比如说下面的程序:
#include
<stdio.h>
void
main()
{
char
s[255]
int
i
int
bytesNumber
FILE
*fp
fp=fopen("/proc/net/dev",
"r")
//选择读取的文件
r
以只读方式打开
fgets(s,
255,
fp)
printf("%s\n",
s)
//跳过第一行
fgets(s,
255,
fp)
printf("%s\n",
s)
//跳过第二行
fgets(s,
255,
fp)
printf("%s\n",
s)
printf("now
read
bytes:",
s)
//说明从第三行开始读
fscanf(fp,
"%s",
s)
fscanf(fp,
"友神%d",
&bytesNumber)
//输出bytes
这个数
printf("bytes
is
%d",
bytesNumber)
for(
i=1
i<=9
i++)
{
//for
循环从1开始到9结束
fscanf(fp,
"%d",
&bytesNumber)
}
printf("\tAnother
bytes
is
%d\n",
bytesNumber)
fgets(s,
255,
fp)
printf("Read
complete.\n")
//说明结束
fclose(fp)
//关闭文件读取
}
}
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.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
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)