如:
fscanf(fp,
"%d",
&num)
//从文件fp读入一个整数到num变量
橘斗fprintf(fp,
"%d",
num)
//将num变量的值输出到文件fp
屏幕也可以看芹脊作一个文件流,输入是stdin,输出是stdout,如输出到屏幕,就是圆首磨:
fprintf(stdout,
"%d",
num)
先用将文件中所有内容读到二维字符数组buf[][]中。芦裤
要输出第x行的内容,直接输出buf[x-1]即可
全部读入还有一个好处,当要修改文件内容时,先读入数组,在数组中做修改,再写回文件,远比在文件中直接修改方便得多。
#include <stdio.h>#define M 10010
#define N 256
char buf[M][N]
int main(){
FILE *file
char fileName[50] = "in.txt"//文件名
//读入
file = fopen(fileName, "r")//打开文件
if(file == NULL) //打开文件失败
return 1
int n = 0
while(fgets(buf[n], N, file) != NULL){//依次读取文件内容,第n+1行读到buf[n]中,直到读到文件结束
n++
}
fclose(file)//关闭文件
//显示第x行
int i, x
scanf("%d", &x)//读入要显示的是第几行
printf("%s", buf[x-1])//显示该行
乎哗派 岁贺 //修改
buf[0][0] = 'X'
//...
//写回
file = fopen(fileName, "w")//打开文件
if(file == NULL)//打开失败
return 1
for(i = 0 i < n i++)//buf中的内容写到文件
fprintf(file, "%s", buf[i])
fclose(file)//关闭并保存文件
return 0
}
c语言读取文件并输出的代码如下:
#include<stdio.h>
inta;
charb,c[100];
intmain(){
FILE*fp1=fopen("input.txt","r");//打开输入文件
FILE*fp2=fopen("output.txt","w");//打开输出文件
if(fp1==NULL||fp2==NULL){//若打开文件失败则退出
puts("不能打开文件!");
return0;
}
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);//关闭输出文件,相当于保存
return0;
}
C语言中使用fopen()函数实现文件的读取,使用fgetc()函数读取文件中的字符,使用fclose()实现文件的关闭,注意:耐皮打开文件流必须要关闭文件流,不然会持续占用计算机内搭亩启存资源。
扩展资料:
fopen函数
C语言中fopen函数可以两个参数,fopen(const char *filename, const char *mode)。
第一个参数filename:这是 C 字符知如串,包含了要打开的文件名称。
第二个参数mode:这是 C 字符串,包含了文件访问模式。
参考资料来源:百度百科-fopen
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)