当前位置:首页 » 编程语言 » c语言fgets函数用法

c语言fgets函数用法

发布时间: 2023-06-19 18:57:15

c语言文件操作中fgets函数的使用

#include<stdio.h>
#include<string.h>

//#pragmawarning(disable:4996)
constintMAXLEN=1000;

intmain(){
chars[MAXLEN];//={0};
//memset(s,0,sizeof(s));//s要被多次使用的
FILE*p=fopen("E:\输入信息得文本.txt","w");
if(p==NULL){
printf("不能打开文件。 ");
return1;
}
while(1){
//gets(s);
fgets(s,MAXLEN,stdin);
//fgtes()函数读取的串中通常含有' '
intlen=strlen(s);
if(s[len-1]==' ')s[len-1]='';
if(strcmp(s,"exit")==0)break;
fprintf(p,"%s ",s);
}
fclose(p);
printf("end ");
return0;
}

② c语言中fgets操作方法,求一简单程序示范

fgets为stdin.h头文件中声明的,从文件中读取字符串的函数。

原型:

char*fgets(char*buf,intbufsize,FILE*stream);

参数:

buf: 指向用来存储字符串的内存位置。

bufsize:读取数据的大小。

stream: 将要读取的文件流。

fgets最多从文件中读取bufsize-1个字符,若读取的行不足bufsize-1个字符,则读取完这行后就结束;若读取的行超过bufsize-1个字符,则只读取bufsize-1个字符,下次调用fgets时,将从此行未读取完的位置继续读取。


示例:

#include<stdio.h>

intmain()
{
chars[60];
FILE*fin=fopen("a.txt","r");

fgets(s,60,fin);
puts(s);
fclose(fin);

return0;
}

③ 关于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、例程:
#include
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语言中的fgets函数。

fgets()函数用于从文件流中读取一行或指定个数的字符,其原型为:
char
*
fgets(char
*
string,
int
size,
FILE
*
stream);
参数说明:
string为一个字符数组,用来保存读取到的字符。
size为要读取的字符的个数。如果该行字符数大于size-1,则读到
size-1
个字符时结束,并在最后补充'
\0';如果该行字符数小于等于
size-1,则读取所有字符,并在最后补充
'\0'。即,每次最多读取
size-1
个字符。
stream为文件流指针。
【返回值】读取成功,返回读取到的字符串,即string;失败或读到文件结尾返回NULL。因此我们不能直接通过fgets()的返回值来判断函数是否是出错而终止的,应该借助feof()函数或者ferror()函数来判断。
注意:fgets()与gets()不一样,不仅仅是因为gets()函数只有一个参数
FILE
*stream,更重要的是,fgets()可以指定最大读取的字符串的个数,杜绝了gets()使用不当造成缓存溢出的问题。

热点内容
如何让助理服务器可以被远程 发布:2025-02-12 04:47:11 浏览:769
存储空间不足但 发布:2025-02-12 04:46:27 浏览:273
树莓派编程板 发布:2025-02-12 04:41:45 浏览:904
php取整 发布:2025-02-12 04:33:21 浏览:221
我的世界创造服务器位置 发布:2025-02-12 04:24:49 浏览:701
毛利润算法 发布:2025-02-12 04:22:42 浏览:754
战舰少女r红茶脚本 发布:2025-02-12 04:05:05 浏览:465
峰火战国服务器什么时候开 发布:2025-02-12 03:56:31 浏览:175
电脑配置慢怎么解压 发布:2025-02-12 03:52:18 浏览:716
androidsdk功能 发布:2025-02-12 03:43:07 浏览:87