c语言读取txt文件内容并输出 c语言读取txt文件内容

2025-03-31 14:00 - 立有生活网

C语言中如何输出文件中的指定行全部内容?

fclose(fp);

没明白你的意思

c语言读取txt文件内容并输出 c语言读取txt文件内容c语言读取txt文件内容并输出 c语言读取txt文件内容


c语言读取txt文件内容并输出 c语言读取txt文件内容


#include

不知道你输入的3代表什么

是文件里面的数字3还是文件的第三行

大致思路应该是把文件的几行读入

然后用if判断输入的数字符合哪个标准

然后输出对应值

大体上是这样子的,没调试。

#include "stdio.h"

{char filename[100] = "testfile.txt";

char s[100];

int i, n;

printf("input line number:");

scanf("%d", &n);

fp = fopen(filename,if "rt");

for (i=0; i

printf("result:%sn", s);

如何用C语言读取.txt文件中的例如英文数字等字符并以十六进制形式输出

下面已经写得很清楚,连调试过程都注释了,应该没问题了吧?o(∩_∩)o 哈哈,新年快乐。#include

#incl1、逗号运算符ude

#include

void change(char str);

{FILE p;

p = fopen("D:ee.txt","r");

while(!feof(p))

{fgets(str,sizeof(str),p);

change(str);

}/测试过%x可以输出字符i1,的16进制数

char a =return 0; 'A';

printf("%d",a);

printf("%x",a);/

/测试函数是否可用。

char str[256] = "sdfsdfsd";

change(str);/}

//函数用于转换一个字符串为16进制输出

void change(char str)

{int i;

for(i = 0;i < strlen(str);i++)

{printf("%x,",(str+i));

}printf("n");

请问一下 怎么用c语言实现读取一个txt文件里的数据 要按行读出来

}printf("nn显示完毕n");}

简单的办法:

p=p+strlen("Address ["); /将指针定位到地址的位置/

#includefgets(s, 100, fp);

...//这里的你自己的程序,省去

FILE fp = fopen("你的文件的文件名", "r");

int n;

while (!feof(fp))

{fscanf(fp, "%d", &n);

}fclose(fp); //读完就退出循环

打开文件 fopen("需要打开的路径")

然后使用fgets函数读取行

#include

#include

#include

#define MAX_LINE 1024

int main()

{char buf[MAX_LINE]; /缓冲区/

FILE fp; /文件指针/

int len; /行字符个数/

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

{perror("fail to read");

exit (1) ;

{len = strlen(buf);

buf[len-1] = '0'; /去掉换行符/

printf("%s %d

",buf,len - 1);

}return 0;

/设你的数据文件是d:ttt.txt

用循环把数字读到数组a里面顺便显示出来 /

#include

int main()

{double a[100];

FILE fp;

if((fp=fopen("d:ttt.txt","r"))==0)

{printf("无文件!!n");

return -1;

}while(!feof(fp))

{fscanf(fp,"%lf",&a[i]);

printf("%lfn",a[i]);

i++;

}fclose(fp);

利用输入输出流打开文件,然后按行读取放到string类型,然后再重定向到 double类型中,程序如下已经过调试:

#include

#include

#include

#include

using namespace std;

void main(){

fstream in;

in.open("D:1.txt",ios::in);

string temp;double data;

while(getline(in,temp))

{istringstream stream(temp);

stream>>data;

cout<

}}

还有更简单的方式,如果一行只有一个单词的话

while(in>>data) {

cout<

你试一下一个一个字符地读出来,每读一个就判断一下字符是否换行符(n:换行 r:回车)来判断是否一行结束

注:我没有测试过,只是提供思路,不知道是否可行

C语言如何查找 某字符串 在所给的文本文件中的哪一行,并输出该行文字

/Setpointertobeginningoffile:/

#include fscanf(stream,"%s",s);

str[400]=".......address..[123

#include

#include

#include int main()

{char s[256]="LMN";

freopen("a.txt","r",stdin);

char t[256];

while(gets(t))

{if(strstr(t,s))

}}

("pause");

用C语言编写“读取一个给定的文本文件,并将文件的内容显示在屏幕上”的一个程序

char c;

#include "stdio.h"void main()

..//读出的数在n里,一次一个数

{FILE fp;

if((fp=fopen("f1.txt","r"))==NULL)

{printf("无法打开文件n");

return ;

}while(!feof(fp))

{putchar(fgetc(fp));

#include

#include

using namespace std;

void print(char p)

{while(1)

{if(p!=0)

printf("%c",{fscanf(fp,"%d",&a[i]);i++;}p++);

else

break;

}return;

}int main()

{string a;

a=freopen("xx.txt",r,stdin)//这是一个名字叫做“xx”的txt文档

print("a");

}//应该是这样吧……

设文本文件data.txt的内容是

abcde

void main() { FILE fp; char buffer[256];

if ( fp=fopen("data.txt","r") ) {

while ( !feof(fp) ) {

fgets(buffer,255,fp); printf("%sn",buffer);

}fclose(fp);

} else printf("无法打开文本文件读取。n");

FILE file=fopen("D:report_data2.txt","r");

if(file==NULL){

}char ch;

while((ch=fgetc(file))!=EOF){

printf("%c",ch);

}fclose(file);

printf("n");

C语言读取文件的内容计算平均分并输出

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

试一下以下代码

}while(fgets(buf,MAX_LINE,fp) != NULL)

#include

#include

struct student

{char ;

char name[8];

char sno[20];

int age;

double score;

};

int main()

{FILE fp;

double g,sum=0;

int i;

struct student Student[5];

//fp=fopen("D:CCdata2.txt","w");

fp=fopen("data2.txt","w");

if ( fp==NULL )

{printf("open file for read error

while (fgets(buf,99,fp)!=NULL)");

return -1;

}puts("input the rmation of 5 students:");

scanf("%c%c%s%s%d%lf",&Student[i].,Student[i].name,Student[i].sno,&Student[i].age,&Student[i].score);//

fprintf(fp,"%c %s %s %2d %2f

",Student[i].,Student[i].name,Student[i].sno,Student[i].age,Student[i].score);

//fp=fopen("D:CCdata2.txt","r");

fp=fopen("data2.txt","r");

if(fp==NULL)

{printf("Can't open the file!

");

exit(0);

}for(i=0;i<5;i++)

{fscanf(fp, "%c%c%s%s%d%lf",&Student[i].,Student[i].name,Student[i].sno,&Student[i].age,&Student[i].score); //

sum+=Student[i].score;

}g=sum/5;

puts("calculate the erage of all students:");

printf("The erage of the five students is %2f

",g);

如何用c语言实现文件先写入部分数据,然后再读取输出在屏幕上

}if (flag==0)

fopen() 改为: if((fp=fopen("1s.txt","w+"))==NULL)

}

fputc(p,fp); 改为:fprintf(fp,"%d",p);

使用fopen函数,打开文件指针

读语句前,加一句文件回绕到文件头: rewind(fp);

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

FILE fp;

char read[1000];

char s;

long p;

if((fp=fopen("1s.txt","w+"))==NULL)

{printf("nOpen file error!press any key exit!");

getchar();

exit(0); }

p=123456;

s='n';

fprintf(fp,"%d",p);

fputc(s,fp);

fprintf(fp,"%d",p);

rewind(fp);

fgets(read,1000,fp);

printf("%s",read);

("pause");

return 0;}

建议将文件指针设置返回文件头,即在fgets语句前面加:fseek(fp,0L,SEEK_SET);

如何用C语言实现读取文件特定位置内容并输出至txt文件

Press any key to continue

其实,你要完成的这项工作,用shell脚本或者其他什么脚本是最方便的。

add[j]=str[i];};

你手里现在要是有linux机,或者有其他支持sed工具的环境也行。

sed -n 's/Address//p' txt.log > result.txt

读文件只能从头读,如果需要读到特定的位置需要加一个判断

然后读文件

使用fscanf读取文件内容

//代码如下使用fprintf写入文件

具体用法跟普通的输入输出不多

请问如何用c语言从txt文件中读取数据?

fclose(fp);

main()

{puts(t);

{int i=0,j=0;

int a[100];

FILE fp;

if((fp=fopen("1.txt","rt"))==NULL)

{printf("error!n");

getch();

exit(1);

}while(!feof(fp))

for(j=0;j

printf("%d",a[j]);

}

回答者: hwuaxj - 千总 四级 12-23 12:35

//其中的in.txt就是你要读取数据的文件,当然把它和程序放在同一目录

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

#include

int main()

{int data;

FILE fp=fopen("in.txt","r");

if(!fp)

{printf("can't open filen");

return -1;

}while(!feof(fp))

{fscanf(fp,"%d",&data)i1=0;;

}printf("n");

main()

{int i=0,j=0;

int a[100];

FILE fp;

if((fp=fopen("1.txt","rt"))==NULL)

{printf("error!n");

getch();

exit(1);

}while(!feof(fp))

for(j=0;j

printf("%d",a[j]);

}

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

一行行读入,读到EOF结束。

参考代码:

#include

int main()

{//下面是写数据,将数字0~9写入到data.txt文件中

FILE fpWrite=fopen("data.txt","w");

if(fpWrite==NULL)

{return 0;

}for(int i=0;i<10;i++)

fprintf(fpWrite,"%d ",i);

fclose(fpWrite);

//下面是读数据,将读到的数据存到数组a[10]中,并且打印到控制台上

int a[10]={0};

FILE fpRead=fopen("data.txt","r");

if(fpRead==NULL)

{return 0;

}for(int i=0;i<10;i++)

{fscanf(fpRead,"%d ",&a[i]);

printf("%d ",a[i]);

}getchar();//等if(feof()) break;待

return 1;

}其他运算符:

用于把若干表达式组合成一个表达式(,)。

2、指针运算符

用于取内容()和取地址(&)二种运算。

3、求字节数运算符

用于计算数据类型所占的字节数(sizeof)。

4、特殊运算符

有括号(),下标[],成员(→,.)等几种。

使用fopen的r方式可以实现读取,用w+方式可以实现写入。

1.fopen的函数原型:FILE fopen(const char path,const char mode);

fopen函数的个参数是文件路径,第二个参数是打开方式,有以下几种方式:

r 以只读方式打开文件,该文件必须存在。

r+ 以可读写方式打开文件,该文件必须存在。

rb+ 读写打开一个二进制文件,允许读数据。

rw+ 读写打开一个文本文件,允许读和写。

w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。

w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)

a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)

wb 只写打开或新建一个二进制文件;只允许写数据。

wb+ 读写打开或建立一个二进制文件,允许读和写。

wt+ 读写打开或着建立一个文本文件;允许读写。

at+ 读写打开一个文本文件,允上找资料许读或在文本末追加数据。

ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。

上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。

返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。

#define F_PATH "d:myfilefile.dat"

FILEfp=NULL;//需要注意

fp=fopen(F_PATH,"w"); //创建文件

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

while(scanf("%c",&c)!=EOF) fprintf(fp,"%c",c); //从控制台中读入并在文本输出

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

如何配置100毫升的肉桂酸 肉桂酸理论值怎么算

苯甲醛105.12无 色 如何配置100毫升的肉桂酸 肉桂酸理论值怎么算 如何配置100毫升的肉桂酸 肉桂酸理论值怎么算 液 体1.046-26179.11.54560.3溶溶 102.09无 色 液 体1.081-73140.01.30水 解水 解溶 肉桂酸148.···

伺服电机高脉冲运行会坏吗(伺服电机的脉冲是

关于伺服电机高脉冲运行会坏吗,伺服电机的脉冲是什么意思这个很多人还不知道,今天小栢来为大家解答以上的问题,现在让我们一起来看看吧! 伺服电机高脉冲运行会坏吗(伺服电机的脉冲是什···

最终幻想4主角(最终幻想4主角名字)

关于最终幻想4主角,最终幻想4主角名字这个很多人还不知道,今天小乐来为大家解答以上的问题,现在让我们一起来看看吧! 最终幻想4主角(最终幻想4主角名字) 最终幻想4主角(最终幻想4主角名字···