getline函数用法

 我来答
OfferComing留学
2022-12-24 · OfferComing一站式留学攻略
OfferComing留学
向TA提问
展开全部
输入的时候是根据空格来区分获取输入流的\x0d\x0a你先获取的是a[20]的内容 空格之后的才是b[20]的内容\x0d\x0acin>>a\x0d\x0a //从标准输入设备(键盘)获取数据,跳过输入流中的空格,tab键,换行符,回车符等\x0d\x0acin.getline(b,sizeof(b))\x0d\x0a //从流中抽取字符知道终止符(默认为'\n'),或者达到(给定数量-1)的值,或者到文件尾
休闲娱乐助手之星M
2020-02-20 · TA获得超过53.8万个赞
知道大有可为答主
回答量:2857
采纳率:100%
帮助的人:113万
展开全部

#if defined(_GNU_SOURCE) || _POSIX_C_SOURCE >= 200809L

#include <stdio.h>

函数声明:

ssize_t getline(char **lineptr, size_t *n, FILE *stream);

返回值:

成功:返回读取的字节数。

失败:返回-1。

参数:

lineptr:指向存放该行字符的指针,如果是NULL,则有系统帮助malloc,请在使用完成后free释放。

n:如果是由系统malloc的指针,请填0

stream:文件描述符

扩展资料:

getline函数类似函数:

getch():

所在头文件:conio.h

函数用途:从控制台读取一个字符,但不显示在屏幕上

函数原型:int getch(void)

返回值:读取的字符

例如:

char ch;或int ch;

getch();或ch=getch();

用getch();会等待你按下任意键,再继续执行下面的语句;

用ch=getch();会等待你按下任意键之后,把该键字符所对应的ASCII码赋给ch,再执行下面的语句。

参考资料来源:百度百科-getch()

参考资料来源:百度百科-getline函数

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小溪趣谈电子数码
高粉答主

2020-02-20 · 专注解答各类电子数码疑问
小溪趣谈电子数码
采纳数:2103 获赞数:584816

向TA提问 私信TA
展开全部

getline函数用法如下:

#if defined(_GNU_SOURCE) || _POSIX_C_SOURCE >= 200809L

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
FILE * fp;
char * line = NULL;
size_t len = 0;
ssize_t read;

fp = fopen("/etc/motd", "r");
if (fp == NULL)
exit(EXIT_FAILURE);

while ((read = getline(&line, &len, fp)) != -1)

{
printf("Retrieved line of length %zu :\n", read);
printf("%s", line);
}

if (line)
free(line);
exit(EXIT_SUCCESS);
}

扩展资料:

getline函数的版本介绍:

1、istream & getline(char* buf, int bufSize);

2、istream & getline(char* buf, int bufSize, char delim);

第一个版本从输入流中读取 bufSize-1 个字符到缓冲区 buf,或遇到\n为止(哪个条件先满足就按哪个执行)。函数会自动在 buf 中读入数据的结尾添加\0。

第二个版本和第一个版本的区别在于,第一个版本是读到\n为止,第二个版本是读到 delim 字符为止。\n或 delim 都不会被读入 buf,但会被从输入流中取走。

这两个函数的返回值就是函数所作用的对象的引用。如果输入流中\n或 delim 之前的字符个数达到或超过 bufSize,就会导致读入出错。

参考资料来源:

百度百科-getline函数

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式