资源描述:
《在c里读取文本文件内容,一次读取一行,》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、在C里读取文本文件的内容,一次读取一行,在C里读取文本文件的内容,一次读取一行,.txt22真诚是美酒,年份越久越醇香浓型;真诚是焰火,在高处绽放才愈是美丽;真诚是鲜花,送之于人手有余香。一颗孤独的心需要爱的滋润;一颗冰冷的心需要友谊的温暖;一颗绝望的心需要力量的托慰;一颗苍白的心需要真诚的帮助;一颗充满戒备关闭的门是多么需要真诚这一把钥匙打开呀!方法1:格式:stringfgets(inthandle[,intlength])从handle指向的文件中读取一行并返回长度最多为length-1字节的字符串。碰到换行符(包括在返回值中)、EOF或者已经读取了length-1字节后停止(看先
2、碰到那一种情况)。如果没有指定length,则默认为1K,或者说1024字节。文件指针必须是有效的,且必须是已经用fopen()、popen()或fsockopen()成功开文件的指针。出错时返回FALSE。fgets可以读取文件的一行内容。详细出处参考:http://www.itqun.net/content-detail/87692.html方法1.1:getline方法2:读取某个特定字符后面的信息#include#includeintmain(intargc,char**argv){if(!argv[1]){fprintf(stderr,"u
3、sage:%s",argv[0]);return-1;}FILE*fp=fopen(argv[1],"r");if(!fp){fprintf(stderr,"cannotopen%s",argv[1]);return-1;}charlinebuf[4096];while(fgets(linebuf,4096,fp)){if(strncasecmp(linebuf,"msg",3)==0){char*p=strchr(linebuf,'=');if(p){p++;printf("%s",p);}}}return0;}方法3:#if0*******************
4、*****************************************按行读取文本文件内容的函数**Author:DB_4B**Division:**Createon:2001-12-30**Version:****SYSTEMP:DOS6.22************************************************************返回值列表:-1文件结束;0读取一行成功;1首字符等于ellipsis值。#endifintREADLINE(FILE*fPtr,char*strPtr,intstrlen,charellipsis){/*文件指针,
5、存储读取数据的字符串数组,字符串数组长度,当一行数据以ellipsis值开头时废弃该行,注:ellipsis值为“.”时,直接输出所有行*/intch;char*tmpPtr;memset(strPtr,0x0,strlen);ch=0x0;tmpPtr=strPtr;if(feof(fPtr))/*如果文件结束,返回错误代码-1*/return-1;while(!feof(fPtr)&&ch!=0xa){/*读入一行数据*/ch=fgetc(fPtr);if(ch!=EOF&&ch!=''){*strPtr=ch;strPtr++;}}if(*tmpPtr==ellipsis
6、
7、*
8、tmpPtr==' '
9、
10、*tmpPtr=='')/*如果行首字符等于ellipsis,返回错误代码1*/return1;elsereturn0;}/************************************调用示例:#include"openfile.h"#include"readline.h"intmain(intargc,char*argv[]){FILE*finPtr;charstr[10240];inti;finPtr=OPENFILE(".\src.txt","r");do{i=READLINE(finPtr,str,sizeof(str),0xa);/
11、/示例中去掉只有回车的行if(i==0)printf("%s",str);}while(i>=0);fclose(finPtr);return0;}