您的位置:

关于c语言查找txt文本内容的信息

本文目录一览:

C语言读取txt文件内容

#include stdio.h

#include stdlib.h

int main()

{

FILE *file;

char *data;

int fileSize;

        // 打开文件“D:\a.txt”

file = fopen("D:\\a.txt", "r");

        // 获得文件大小

fseek(file, 0, SEEK_END);

fileSize = ftell(file);

fseek(file, 0, SEEK_SET);

        // 分配内存

data = (char*)malloc(fileSize + 1);

        // 读取文件

fread(data, sizeof(char), fileSize, file);

data[fileSize] = 0;

        // 输出内容(你想对内容干什么都可以了)

printf("%s", data);

return 0;

}

c语言在txt查找文本,返回相同的行的数据

#includestdio.h

struct RECs { unsigned int uRoomID,uID,uBoth; char sStyle[20]; };

void main() { struct RECs a; FILE *fp; char buffer[256]; unsigned int r; int b;

  if ( fp=fopen("c:\\room.txt","r") ) {

    while ( 1 ) {

      printf("请输入ROOM ID: "); scanf("%u",r); if ( r==0 ) break;

      fseek(fp,0L,SEEK_SET); b=0;

      while ( !feof(fp) ) {

        fgets(buffer,255,fp); sscanf("%u%s%u%u",a.uRoomID,a.sStyle,a.uID,a.uBoth);

        if ( uRoomID==r ) {

          printf("ID=%u,STYLE=%s,ID=%u,BOTH=%u\n",a.uRoomID,a.sStyle,a.uID,a.uBoth);

          b=1;

          break;

        }

      }

      if ( b==0 ) printf("没有该房间记录。\n"); else printf("\n");

    }

    fclose(fp);

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

}

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

FILE *fp = fopen("D:\\1.txt", "r");

int a,b;

while(fscanf(fp, "%d,%d") != EOF)

    printf("%d %d\n", a,b);

    

fclose(fp);

fscanf(fp, "%d,%d")

这个是读文件的函数。

在c语言中,如何读取一个txt文件中的信息

一般来说在C语言中读取txt文件的信息有两种方法,一种是使用C语言标准文件I/O中的fopen()、fread()等等函数,一种是调用操作系统中的API函数,比如Windows上的ReadFile()、OpenFile()等等,现在操作系统一般都具备内存文件映射功能,对于大的txt文件,一般都使用这种方式操作。下面是一个使用C语言标准文件I/O操作文件的例子。

#includestdio.h

FILE*stream;

void main(void)

{

long l;

float fp;

char s[81];

char c;

 

stream=fopen("fscanf.out","w+");

if(stream==NULL)

printf("Thefilefscanf.outwasnotopened\n");

else

{

fprintf(stream,"%s%ld%f%c","hello world",  

65000,3.14159,'x');

/*Setpointertobeginningoffile:*/

fseek(stream,0L,SEEK_SET);

/*Readdatabackfromfile:*/

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

fscanf(stream,"%ld",l);

fscanf(stream,"%f",fp);

fscanf(stream,"%c",c);

/*Outputdataread:*/

printf("%s\n",s);

printf("%ld\n",l);

printf("%f\n",fp);

printf("%c\n",c);

fclose(stream);

}

}

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");

}