C语言怎样将文本文件中的内容读取打印

C语言怎样将文本文件中的内容读取打印,第1张

可以参考下面的代码:

#include<stdio.h>

#define F_PATH "d:\\myfile\\file.dat"

char c

int main(){

FILE*fp=NULL//需要注意

fp=fopen(F_PATH,"r")

if(NULL==fp) return -1//要返回错误代码

while(fscanf(fp,"%c",&c)!=EOF) printf("%c",c)//从文本中读入并在控制台打印出来

fclose(fp)

fp=NULL//需要指向空,否则会指向原打开文件地址 

return 0

}

扩展资料:

fopen函数是打开一个文件,其调用的一般形式为:

文件指针名=fopen(文件名,使用文件方式)

“文件指针名”必须是被声明为FILE 类型的指针变量;

“文件名”是被打开文件的文件名;

“使用文件方式”是指文件的类型和 *** 作要求;

“文件名”是C风格字符串。

使用文件的方式共有12种,部分的意义如下:

"r" = "rt"

打开一个文本文件,文件必须存在,只允许读

"rb"

打开一个二进制文件,文件必须存在,只允许读

参考资料来源:百度百科-c语言fopen函数

Linux下C语言的文件(fputc,fgetc,fwrite,fread对文件读写 *** 作)

//

fputc 向文件写入字符

#include <stdio.h>

#include <stdlib.h>

main()

{

FILE *fp

char ch

if((fp=fopen("test.txt","w"))==NULL)

{

printf("不能打开文件\n")

exit(0)

}

while ((ch=getchar())!='\n')

fputc( ch, fp )

fclose(fp)

}

-------------

小提示:

fp=fopen("test.txt","w") ,把"w"改为 "a" 可以创建文件并且追加写入内容

exit(0)需要包含 stdlib.h 头文件,才能使用

//

fgetc 读取字符

#include <stdio.h>

#include <stdlib.h>

main( int argc, char *argv[] )

{

char ch

FILE *fp

int i

if((fp=fopen(argv[1],"r"))==NULL)

{

printf("不能打开文件\n")

exit(0)

}

while ((ch=fgetc(fp))!=EOF)

putchar(ch)

fclose(fp)

}

文件结尾,通过判断 EOF

//

fwrite 的使用

使数组或结构体等类型可以进行一次性读写

#include <stdio.h>

#include <stdlib.h>

main()

{

FILE *fp1

int i

struct student{

char name[10]

int age

float score[2]

char addr[15]

}stu

if((fp1=fopen("test.txt","wb"))==NULL)

{

printf("不能打开文件")

exit(0)

}

printf("请输入信息,姓名 年龄 分数1 分数2 地址:\n")

for( i=0i<2i++)

{

scanf("%s %d %f %f %s",stu.name,&stu.age,&stu.score[0],&stu.score[1], stu.addr)

fwrite(&stu,sizeof(stu),1,fp1)

}

fclose(fp1)

}

//

fread 的使用

#include <stdio.h>

#include <stdlib.h>

main()

{

FILE *fp1

int i

struct student{

char name[10]

int age

float score[2]

char addr[15]

}stu

if((fp1=fopen("test.txt","rb"))==NULL)

{

printf("不能打开文件")

exit(0)

}

printf("读取文件的内容如下:\n")

for (i=0i<2i++)

{

fread(&stu,sizeof(stu),1,fp1)

printf("%s %d %7.2f %7.2f %s\n",stu.name,stu.age,stu.score[0],stu.score[1],stu.addr)

}

fclose(fp1)

}

//

fprintf , fscanf, putw , getw , rewind , fseek 函数

这些函数的话我就不演示了 ,

这些函数基本都一对来使用,例如 fputc 和 fgetc 一起来用.

#include<stdio.h>

#include<stdlib.h>

#define N 10000

int main()

{

FILE *fp

if((fp=fopen("D:\\123.txt","r"))==NULL)//判断文件是否打开成功

{//读取D盘下,名为123的文本文件

printf("文件打开失败\n")

exit(0)

}

else

printf("文件打开成功\n")

double a[N]

for(int i=0i<5i++)//读取五个浮点型数据

fscanf(fp,"%lf,",&a[i])//fscanf函数固定格式读取文本中的数据;

for(int i=0i<5i++)

printf("%.6lf,\n",a[i])

fclose(fp)

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存