c语言中fgets操作方法,求一简单程序示范
答案:4 悬赏:0 手机版
解决时间 2021-11-28 21:31
- 提问者网友:贪了杯
- 2021-11-28 09:42
c语言中fgets操作方法,求一简单程序示范
最佳答案
- 五星知识达人网友:duile
- 2021-11-28 10:42
fgets为stdin.h头文件中声明的,从文件中读取字符串的函数。
原型:
char *fgets(char *buf, int bufsize, FILE *stream);参数:
buf: 指向用来存储字符串的内存位置。
bufsize: 读取数据的大小。
stream: 将要读取的文件流。
fgets最多从文件中读取bufsize-1个字符,若读取的行不足bufsize-1个字符,则读取完这行后就结束;若读取的行超过bufsize-1个字符,则只读取bufsize-1个字符,下次调用fgets时,将从此行未读取完的位置继续读取。
示例:
#include
int main()
{
char s[60];
FILE *fin = fopen("a.txt", "r");
fgets(s, 60, fin);
puts(s);
fclose(fin);
return 0;
}
原型:
char *fgets(char *buf, int bufsize, FILE *stream);参数:
buf: 指向用来存储字符串的内存位置。
bufsize: 读取数据的大小。
stream: 将要读取的文件流。
fgets最多从文件中读取bufsize-1个字符,若读取的行不足bufsize-1个字符,则读取完这行后就结束;若读取的行超过bufsize-1个字符,则只读取bufsize-1个字符,下次调用fgets时,将从此行未读取完的位置继续读取。
示例:
#include
int main()
{
char s[60];
FILE *fin = fopen("a.txt", "r");
fgets(s, 60, fin);
puts(s);
fclose(fin);
return 0;
}
全部回答
- 1楼网友:怙棘
- 2021-11-28 13:29
用 法: char *fgets(char *string, int n, FILE *stream);
程序例:
#include
#include
int main(void)
{
FILE *stream;
char string[] = "This is a test";
char msg[20];
stream = fopen("DUMMY.FIL", "w+");
fwrite(string, strlen(string), 1, stream);
fseek(stream, 0, SEEK_SET);
fgets(msg, strlen(string)+1, stream);
printf("%s", msg);
fclose(stream);
return 0;
}
程序例:
#include
#include
int main(void)
{
FILE *stream;
char string[] = "This is a test";
char msg[20];
stream = fopen("DUMMY.FIL", "w+");
fwrite(string, strlen(string), 1, stream);
fseek(stream, 0, SEEK_SET);
fgets(msg, strlen(string)+1, stream);
printf("%s", msg);
fclose(stream);
return 0;
}
- 2楼网友:琴狂剑也妄
- 2021-11-28 12:21
从流中读一行或指定个字符, 原型是char *fgets(char *s, int n, FILE *stream); 从流中读取n-1个字符,除非读完一行,参数s是来接收字符串,如果成功则返回s的指针,否则返回NULL。 形参注释:*s结果数据的首地址;n-1:一次读入数据块的长度,其默认值为1k,即1024;stream文件指针
fgets函数用来从文件中读入字符串。fgets函数的调用形式如下:fgets(str,n,fp);此处,fp是文件指针;str是存放在字符串的起始地址;n是一个int类型变量。函数的功能是从fp所指文件中读入n-1个字符放入str为起始地址的空间内;如果在未读满n-1个字符之时,已读到一个换行符或一个EOF(文件结束标志),则结束本次读操作,读入的字符串中最后包含读到的换行符。因此,确切地说,调用fgets函数时,最多只能读入n-1个字符。读入结束后,系统将自动在最后加'\0',并以str作为函数值返回。
fgets函数用来从文件中读入字符串。fgets函数的调用形式如下:fgets(str,n,fp);此处,fp是文件指针;str是存放在字符串的起始地址;n是一个int类型变量。函数的功能是从fp所指文件中读入n-1个字符放入str为起始地址的空间内;如果在未读满n-1个字符之时,已读到一个换行符或一个EOF(文件结束标志),则结束本次读操作,读入的字符串中最后包含读到的换行符。因此,确切地说,调用fgets函数时,最多只能读入n-1个字符。读入结束后,系统将自动在最后加'\0',并以str作为函数值返回。
- 3楼网友:西岸风
- 2021-11-28 11:43
#include
#include
int main(void)
{
FILE *stream;
char string[] = "This is a test";
char msg[20];
stream = fopen("DUMMY.FIL", "w+");
fwrite(string, strlen(string), 1, stream);
fseek(stream, 0, SEEK_SET);
fgets(msg, strlen(string)+1, stream);
printf("%s", msg);
fclose(stream);
return 0;
}
#include
int main(void)
{
FILE *stream;
char string[] = "This is a test";
char msg[20];
stream = fopen("DUMMY.FIL", "w+");
fwrite(string, strlen(string), 1, stream);
fseek(stream, 0, SEEK_SET);
fgets(msg, strlen(string)+1, stream);
printf("%s", msg);
fclose(stream);
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯