c语言读取txt文件内容并输出 c语言读取txt文件内容
2025-03-31 14:00 - 立有生活网
C语言中如何输出文件中的指定行全部内容?
fclose(fp);没明白你的意思
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); 下面已经写得很清楚,连调试过程都注释了,应该没问题了吧?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"); 简单的办法: #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:回车)来判断是否一行结束 注:我没有测试过,只是提供思路,不知道是否可行 #include #include #include #include {char s[256]="LMN"; freopen("a.txt","r",stdin); char t[256]; while(gets(t)) {if(strstr(t,s)) }} ("pause"); #include "stdio.h"void main() {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"); 试一下以下代码 #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); fopen() 改为: if((fp=fopen("1s.txt","w+"))==NULL) fputc(p,fp); 改为:fprintf(fp,"%d",p); 读语句前,加一句文件回绕到文件头: 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); 其实,你要完成的这项工作,用shell脚本或者其他什么脚本是最方便的。 你手里现在要是有linux机,或者有其他支持sed工具的环境也行。 sed -n 's/Address//p' txt.log > result.txt 读文件只能从头读,如果需要读到特定的位置需要加一个判断 然后读文件 使用fscanf读取文件内容 //代码如下使用fprintf写入文件 具体用法跟普通的输入输出不多 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]); } 回答者: 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]); } 参考代码: #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;//需要指向空,否则会指向原打开文件地址如何用C语言读取.txt文件中的例如英文数字等字符并以十六进制形式输出
请问一下 怎么用c语言实现读取一个txt文件里的数据 要按行读出来
}printf("nn显示完毕n");}C语言如何查找 某字符串 在所给的文本文件中的哪一行,并输出该行文字
/Setpointertobeginningoffile:/用C语言编写“读取一个给定的文本文件,并将文件的内容显示在屏幕上”的一个程序
char c;C语言读取文件的内容计算平均分并输出
for(i=0;i<5;i++)如何用c语言实现文件先写入部分数据,然后再读取输出在屏幕上
}if (flag==0)如何用C语言实现读取文件特定位置内容并输出至txt文件
Press any key to continue请问如何用c语言从txt文件中读取数据?
fclose(fp);C语言如何实现对txt文件的读取和写入
一行行读入,读到EOF结束。
如何配置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主角名字···