c中读取文件内容|C读取文件内容

c中读取文件内容|C读取文件内容的第1张示图

① c语言中读取txt文件内容

intInput1(DoubleListL)//输入加数1{DNode*p,*s;p=L;FILE*pf;chare;if((pf=fopen("E:\add1.dat","r"))==NULL){printf("未找到该文件!");return(-1);}while(feof(pf)==0){s=(DNode*)malloc(sizeof(DNode));if(s!=NULL){if(fscanf(pf,"%1c",&e)!=EOF){(*s).data=e;(*s).prior=p;(*s).next=NULL;(*p).next=s;p=(*p).next;}}else{printf("申请内存失败!");return(-1);}}fclose(pf);return(1);}

有问题可以问

② C语言读取文件内容的程序

感觉你贴出来的代码跟题目要求差距有点大啊

代码(ps:这里输入的文件名就是一个相对路径,所以给定的测试文本要放在本程序同目录下):

#include<stdio.h>#include<stdlib.h>voidmain(){FILE*fp;charfilename[30],temp[1024];intcount,i,flag=1;printf("请输入文件名:");gets(filename);if((fp=fopen(filename,"r"))==NULL)//文件不存在{printf("FileNameError");exit(0);}else//文件存在{printf("请选择行数:");scanf("%d",&count);for(i=1;i<=count;i++){if(fgets(temp,1024,fp)==NULL)//不存在第count行{flag=0;break;}}if(flag==0)printf("LineNoError");elseprintf("第%d行是:%s",count,temp);//打印第count行}fclose(fp);}

测试文本内容:

③ c中如何读取其它文件内容

改为fp=fopen("canshu.h","rb"))==NULL) fread(&a,sizeof(int),1,fp); 改为 fscanf(fp," int x=%d",&a);

④ c语言 怎么从文件中读取指定内容啊

#include <stdio.h>#include <stdlib.h>#include <string.h>#define BUF_SIZE 1024#define KEY "AB2345"#define KEY_LEN 7int main(){ int ch = 0; int first = 1;//开始时的标志,因为是一个字符一个字符的扫描 int flag = 0;//文件开头是不是所要读内容的标志 int count = 0;//遇到'\n'的个数 int pre_pos = 0, cur_pos = 0;//前一次和当前文件指针的位置 char buf[BUF_SIZE] = {0}; FILE *fp = NULL; fp = fopen("test.txt", "r"); if (fp == NULL) { printf("Cann't open the file!\n"); exit(1); } else { while ((ch = fgetc(fp)) != EOF) { if (first) { //若要读取的内容在文件开头就有时 //移动指针到文件开头 fseek(fp, -1L, SEEK_CUR); fgets(buf, KEY_LEN, fp); if (strcmp(buf, KEY) == 0) { first = 0; flag = 1; continue; } else { first = 0; } } if (ch == '\n') { count++;//遇到'\n'的个数 pre_pos = cur_pos;//上次遇到'\n'时文件指针的位置 cur_pos = ftell(fp);//当前遇到'\n'时文件指针的位置 //文件开头内容符合要求的就适当移动指针位置 //然后读取输出来 if (count == 1 && flag == 1) { fseek(fp, 0L, SEEK_SET); memset(buf, 0, sizeof(buf)); fgets(buf, cur_pos – 1, fp); printf("%s\n", buf); } //之后内容符合要求的就适当移动指针位置 //然后读取输出来 else { memset(buf, 0, sizeof(buf)); fgets(buf, KEY_LEN, fp); if (strcmp(buf, KEY) == 0) { fseek(fp, (-1) * (KEY_LEN – 1), SEEK_CUR); memset(buf, 0, sizeof(buf)); fgets(buf, cur_pos-1-pre_pos, fp); printf("%s\n", buf); } } } } } fclose(fp); return 0;}

⑤ C语言中读取txt文件内容

楼主朋友,你的程序中的问题出在分配空间不足上。比如当你想让a[j]指向某段内存时,用的是 a[j]=(char *)malloc(sizeof(char)); 而到了后面你是要在这段内存中存入一个字符串的,所以就发生了越界。下面是我根据你的代码片段写的一个测试程序,经过修改应该没问题了。#include <stdio.h>#include <stdlib.h>int main (void){ char path[]="12345.txt"; FILE *create; if((create=fopen(path,"r"))!=NULL) { int j; char **a; a=(char **)malloc(100*sizeof(char*)); //此处如果只申请一个char *大小的空间时, //你以后的a[j]往哪里放?此处的100是假设你的文件中有100行信息。如果超过100还得多分配 for (j=0;;j++) { a[j]=(char *)malloc(10000*sizeof(char)); //此处只申请一个字符的空间,后面读取 //长度为10000的字符串就没地方存放了 fgets(a[j],10000,create); printf("%s",a[j]); //测试读取是否成功,将文件中信息显示到屏幕上 if(feof(create)!=0) { for(;j=0;j–) free(a[j]); break; } } free(a); } else printf("Fail to open the file.\n"); fclose(create); printf("\n");}

⑥ C语言如何读取txt文本里面的内容

C语言可以使用fopen()函数读取txt文本里。

示例:

#include <stdio.h>

FILE *stream, *stream2;

void main( void )

{

int numclosed;

/* Open for read (will fail if file "data" does not exist) */

if( (stream = fopen( "data", "r" )) == NULL )

printf( "The file 'data' was not opened" );

else

printf( "The file 'data' was opened" );

/* Open for write */

if( (stream2 = fopen( "data2", "w+" )) == NULL )

printf( "The file 'data2' was not opened" );

else

printf( "The file 'data2' was opened" );

/* Close stream */

if(fclose( stream2 ))

printf( "The file 'data2' was not closed" );

/* All other files are closed: */

numclosed = _fcloseall( );

printf( "Number of files closed by _fcloseall: %u", numclosed );

}

(6)c中读取文件内容扩展阅读

使用fgetc函数

#include <stdio.h>

#include <stdlib.h>

void main( void )

{

FILE *stream;

char buffer[81];

int i, ch;

/* Open file to read line from: */

if( (stream = fopen( "fgetc.c", "r" )) == NULL )

exit( 0 );

/* Read in first 80 characters and place them in "buffer": */

ch = fgetc( stream );

for( i=0; (i < 80 ) && ( feof( stream ) == 0 ); i++ )

{

buffer[i] = (char)ch;

ch = fgetc( stream );

}

/* Add null to end string */

buffer[i] = '';

printf( "%s", buffer );

fclose( stream );

}

⑦ 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读取文件内容

C读取文件内容参考代码如下:

#include<stdio.h>#include<stdlib.h>#include<string.h>#defineMAX_LINE1024intmain(){charbuf[MAX_LINE];/*缓冲区*/FILE*fp;/*文件指针*/intlen;/*行字符个版数*/if((fp=fopen("test.txt","r"))==NULL){perror("failtoread");exit(1);}while(fgets(buf,MAX_LINE,fp)!权=NULL){len=strlen(buf);buf[len-1]='';/*去掉换行符*/printf("%s%d",buf,len-1);}return0;}

⑨ C语言:读取文件中内容

写函数:open()write()close()读函数:open()read()close()程序就是这样,具体细节还需要自己去写。祝你好运

未经允许不得转载:山九号 » c中读取文件内容|C读取文件内容

赞 (0)