网站建设资讯

NEWS

网站建设资讯

c语言读一行字符串函数,c语言中读取字符串的函数

c语言 读一行

FILE *fin;

濂溪ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

char namein[]="my_file.txt"; // 文件名

char *one_line; // 读入的一行

int buff_size=120; //根据最长行字符定大小

if( ( fin = fopen(namein, "r") ) == NULL ) {

printf("can not open file %s\n",namein);

exit (-1);

};

one_line = (char *) malloc(buff_size * sizeof(char));

while ( fgets(one_line, buff_size,fin) !=NULL){

printf("I read: %s",one_line); // 读一行打一行

};

fclose(fin);

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

对每行进一步分析可以用

sscanf(one_line,"...",...);

C语言有没有从文件中读取一行字符串的方法

有的,用 fgets 就可以实现,例程如下:

#include stdio.h

#include malloc.h

int main() {

FILE *fp = fopen("c:\\windows\\DirectX.log", "r");

char *OneLine = (char *)malloc(sizeof(char) * 100);

while (!feof(fp)) {

fgets(OneLine, 100, fp);

puts(OneLine);

}

free(OneLine);

fclose(fp);

return 0;

}

C语言怎样读取文本的每一行

可以使用fgets函数来实现。

1 函数名:

fgets

2 声明形式:

char *fgets(char *buf, int bufsize, FILE *stream);

3 头文件:

stdio.h

4 功能及参数说明:

从stream中读取一行数据存到buf中。如果数据长度小于bufsize,那么读入整行数据,并将换行符转换为字符串结束符\0。 如果数据长度超过bufsize,那么只读入bufsize大小的数据,并在结尾添加\0。

5 返回值:

成功,则返回第一个参数buf;

在读字符时遇到end-of-file,则eof指示器被设置,如果还没读入任何字符就遇到这种情况,则buf保持原来的内容,返回NULL;

如果发生读入错误,error指示器被设置,返回NULL,buf的值可能被改变。

C语言中我该使用什么函数获取一个文本信息或几行字符串中的一行?

FILE *p;

char str[256];

p=fopen("d:/1.txt","r");

for(i=0;i10;i++)

{

fgets(str,250,p);

printf("%s",str);

}

主要就是fgets这个函数,读取文件的一行,不管有多长,函数原型可以百度看看!

望采纳!

-物联网校企联盟技术部

C语言 如何从一个文件中读取一段含\n的字符串

使用fread函数读取指定长度的字符串,即使包含\n也会被读取,可以首先使用fseek定位到文件结尾,然后ftell函数返回的值就是文件的大小,这样就可以用循环多次读取文件,直到读取所有内容

FILE *file = NULL;

char szFile[1025] = {0};

int nHadRead = 0;

file = fopen( "file.txt", "r+");

if ( file == NULL )

return;

fseek( file, 0, SEEK_END ); //定位到文件尾

int nLen = ftell( file ); //获取当前位置,即文件长度

fseek( file 0, SEEK_SET ); //重新定位到文件开头,准备开始读

while ( nHadRead nLen )

{

int nRead = nLen - nHadRead 1024 ? 1024 : nLen - nHadRead; //如果剩余小于1024字节,则读剩余字节,否则每次读取1024字节。

int nTmp = fread( szFile, 1, nRead , file );

nHadRead += nTmp;

printf( "%s", szFile );

memset( szFile, 0x0, sizeof(szFile) );

}

fclose(file);

大致过程就是这样,纯手打,没有调试过,可能有错

C语言 如何一行行读文件

C语言中,使用fgets函数遍可以一行行读取文件。

1、fgets函数:

原型:char * fgets(char * buf, int bufsize, FILE * stream);

功能:从文件结构体指针stream中读取数据,每次读取一行。

说明:读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋值为\0)。如果该行不足bufsize个字符,则读完该行就结束,如果该行超过bufsize-1个字符,则fgets只返回一个不完整的行,buf缓冲区以\0字符结束,下一次fgets调用会继续读取该行剩余的字符;

头文件:stdio.h;

返回值:若读入成功,返回与参数buf相同的字符指针,若读入过程中遇到EOF或发生错误,返回NULL指针。所以当遇到返回值为NULL的情况时,应使用ferror或feof函数检查是发生错误还是遇到EOF。

2、例程:

#includestdio.h

int a;

char b,c[100];

int main(){

FILE * fp1 = fopen("input.txt", "r");//打开输入文件

FILE * fp2 = fopen("output.txt", "w");//打开输出文件

if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出

puts("不能打开文件!");

rturn 0;

}

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);//关闭输出文件,相当于保存

return 0;

}


文章名称:c语言读一行字符串函数,c语言中读取字符串的函数
本文URL:http://njwzjz.com/article/hssidj.html