当前位置:首页 » 办公资讯 » c怎样读取文件

c怎样读取文件

发布时间: 2022-02-05 05:27:34

① C语言如何读取文件

文件流指针应打文件,要同操作两文件,所要用两文件流指针
,像要同操作两箱.
程序理解:
两箱,fp1,fp2;
打箱fp1,fp2,拿1024东西看,同放第二箱fp2,至箱东西完全拿,关闭两箱.
例都差,看看stdlibf函数,C文件操作:
FILL
*pf;
//声明指针,指针数组
FILE
pf[2]

FILE
**pf;
pf
=fopen();
fread()
or
fwrite()
...
...
//操作文件
fclose(pf)
//关闭文件

② c语言 如何读取本地文本文件

右键点击那个TXT文件,重命名讲尾缀改为.c 打开就可以了 或者不打开 将VC打开 点击打开文件 找到这个修改了后缀的文件打开就可以了

③ C语言文件的文本怎么读取

根据你给的文件保存的数据的格式,我猜测每一行是一个学生的信息,格式如下:

序号 姓名 成绩1 成绩2 成绩3 ...

知道了题意和题目要求,那么一切将会变得简单起来,请看代码。

#include<stdio.h>

#defineREAD_FILE"data.txt"/*要读取的文件的名字*/
#defineWRITE_FILE"T_data.txt"/*要写入的文件的名字*/
#defineSTU_NUM10/*最大学生人数*/
#defineMAX_LEN50/*一行的最大字符数*/
/*
*获取总分函数
*/
intget_sum(charconst*msg){

intsum=0;
inttmp;
/*
*遍历一行字符
*/
while(*msg!=''){

/*
*以空格为一项成绩的分隔标志
*/
tmp=0;
while(*msg!=''&&*msg!=''){
/*
*char类型数字转int类型数字
*/
tmp=(tmp*10)+((*msg)-'0');
msg++;
}
/*
*求总和
*/
sum+=tmp;
if(*msg==''){

break;
}
msg++;
}
returnsum;
}

intmain(void){

FILE*rfp,*wfp;/*声明读取/写入文件指针*/
charstudent[STU_NUM][MAX_LEN];/*存放读取到的数据缓存数组*/
charch;
intsum[STU_NUM];/*成绩总和*/
inti=0;
intj=0;
intk=0;
rfp=fopen(READ_FILE,"r");/*打开数据文件*/
if(rfp==NULL){

perror(READ_FILE);
exit(1);
}
for(i=0;i<STU_NUM;i++){

sum[i]=0;
}
/*
*逐个字符读取文件的内容,
*直至遇到文件结束符为止。
*/
i=0;
while((ch=fgetc(rfp))!=EOF){
/*
*遇到换行符表示已经读取完一个学生的资料;
*否则继续将数据写入缓存数组中。
*/
if(ch==' '){

student[i][j]='';
j=0;
i+=1;
}else{

student[i][j++]=ch;
}
}
student[i][j]='';
wfp=fopen(WRITE_FILE,"w");
/*
*开始分析数据
*根据文件存放数据的格式,从下标为2的位置开始分析数据。
*当遇到空格时证明后面的数据是成绩,每一科成绩分数均以空格分开。
*printf是显示出来。
*fprintf是写入另一个文件。
*/
for(j=0;j<=i;j++){

k=2;
printf("%c%c",student[j][0],student[j][1]);
fprintf(wfp,"%c%c",student[j][0],student[j][1]);
while(student[j][k]!=''){

printf("%c",student[j][k]);
fprintf(wfp,"%c",student[j][k]);
k++;
}
printf("'ssumofscoresumis");
fprintf(wfp,"'ssumofscoresumis");
sum[j]=get_sum(&student[j][k]);
printf("%d ",sum[j]);
fprintf(wfp,"%d ",sum[j]);
}
/*
*记得关闭文件哦。
*/
fclose(rfp);
fclose(wfp);
return0;
}

以下是运行结果:

这个程序仅仅是针对你的题目要求来的,文件存放的数据格式不能更改,否则会出错。每一行必须以回车键结束,最后一行的最后一个字符之后什么也不能有。我尽量以你看得懂的方法来写,关键部分都带有注释,有问题不要追问了,自己多思考思考,实在解决不来还是很欢迎可以追问的哦,哈哈哈!!!

④ 如何用c读取文件

应该用fscanf()函数来读取
下面给个小例子:
保存代码时,以.C为后缀名.用VC6.0编译(TC2.0也可,但不能显示汉字)
用VC6.0编译时,不能点"!"来运行程序,因为这样程序是不能建立文件的.
应该在Debug文件夹里面再运行程序(VC6.0编译程序时,生成的可执行文件放在Debug文件夹里面,里面要有"成绩.txt"文件)
#include<stdio.h>
#include<conio.h>
void ReadStudentDataToFile(void);
void main()
{
ReadStudentDataToFile();
getch();
}
void ReadStudentDataToFile(void)
{
FILE *fp;
float data;
fp=fopen("成绩.txt","r");
if(!fp)
{
printf("不能打开文件\n");
return;
}
while(fscanf(fp,"%f",&data)>0)/*显示所有的成绩*/
{
printf("%f\t",data);
}
fclose(fp);
}

⑤ C语言如何实现对txt文件的读取和写入

1、使用VS新建空工程,直接点击确定,如下所示。

⑥ c语言如何读取文件

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
int times;
int num[100];
cout<<"请输入您要输入的数字的个数:";
cin>>times;
//cout<<"您刚才输入的数字为:"<<times<<endl;
for (int i=0;i<times;i++)
{

cout<<"请输入第"<<i+1<<"个数字:";
cin>>num[i];
//cout<<"您输入的数字为:"<<num<<endl;

FILE* file=fopen("num.bin","ab");//追加打开二进制文件
fwrite(&num[i],sizeof(int),1,file);
fclose(file);
}
cout<<endl<<"文件num.bin已保存。您刚才输入的数字已自动添加到该文件末尾。"<<endl;
cout<<"请注意:该文件为二进制文件。"<<endl;
////////////////////////////////////读文件
cout<<"num.bin文件中num[i]的值如下:"<<endl;
for(int j=0;j<times;j++)
{
FILE* fp=fopen("num.bin","ab");//追加打开二进制文件;
fwrite(&num[j],sizeof(int),1,fp);
cout<<"您之前输入的第"<<j+1<<"个数字为:"<<num[j]<<endl;
fclose(fp);
}

return 0;
}

//朋友,你可能没有明白fread 和fwrite 的作用,他们的作用是将数据块中的变量的值保存起来,到用时再拿出来引用!,而你的写入函数,虽然能运行,但毫无意义科为,只是将num的值,不停地存储了times次,而且一直都在更换num的值

还望仔细品味一下!!!!!!

==========================================================Mr_Computer

⑦ c语言读取文本文件

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

#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("不能打开文件!");
rturn0;
}
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语言 如何相对快速的读取文件

1、一次性把文件读入到内存当中,直接对内存进行操作。这样总的运行时间会比一边读文件一边操作的时间要少。

2、步骤:

1)验证该文件是否存在,并获取文件大小;

2)根据文件大小申请一个足够大的缓冲(假定内存足够的话);

3)fread将整个文件装入缓冲;

4)对缓存进行操作。

例程:

#include<stdio.h>
#include<string.h>
intmain(void)
{
FILE*stream;
charbuf[2000];//字符数组作为缓存
if((stream=fopen("文件.txt","r"))==NULL)//打开文件
{
fprintf(stderr,"Cannotopenoutputfile. ");
return0;
}
fread(buf,sizeof(buf),1,stream);//读取文件内容到缓存当中
printf("%s ",buf);
//直接对缓存进行操作
fclose(stream);
return0;
}

⑨ C语言如何读取文件

C语言读取文件的具体步骤如下:

我们需要准备的材料分别是:电脑、C语言。

1、首先我们打开需要读取的文件,点击打开左上角文件中的“另存为”。

⑩ c语言中怎么读取一个磁盘文件

由于\为转义字符,所以对于目录分割符\需要写两个\字符,即\\。读取为:
fopen("F:\\test\\test.txt", "r");

热点内容
马路上汽车的噪音在多少分贝 发布:2023-08-31 22:08:23 浏览:1761
应孕棒多少钱一盒 发布:2023-08-31 22:08:21 浏览:1252
标准养老金一年能领多少钱 发布:2023-08-31 22:05:05 浏览:1538
湖北通城接网线多少钱一个月 发布:2023-08-31 21:59:51 浏览:1617
开随车吊车多少钱一个月 发布:2023-08-31 21:55:06 浏览:1378
京东付尾款怎么知道前多少名 发布:2023-08-31 21:52:58 浏览:1699
在学校租铺面一个月要多少钱 发布:2023-08-31 21:52:09 浏览:1834
2寸有多少厘米 发布:2023-08-31 21:50:34 浏览:1472
知道电压如何算一小时多少电 发布:2023-08-31 21:46:20 浏览:1457
金手镯54号圈周长是多少厘米 发布:2023-08-31 21:44:28 浏览:1630