为了账号安全,请及时绑定邮箱和手机立即绑定

如何读取用户在C中输入的字符串?

如何读取用户在C中输入的字符串?

C
白衣染霜花 2019-06-05 15:15:32
如何读取用户在C中输入的字符串?我想使用C程序读取我的用户输入的名称。为此,我写道:char name[20];printf("Enter name: ");gets(name);但使用gets不是很好,那么有什么更好的方法呢?
查看完整描述

3 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

我认为读取用户输入的字符串的最好和最安全的方法是使用getline()

下面是一个如何做到这一点的例子:

#include <stdio.h>#include <stdlib.h>int main(int argc, char *argv[]){
    char *buffer = NULL;
    int read;
    unsigned int len;
    read = getline(&buffer, &len, stdin);
    if (-1 != read)
        puts(buffer);
    else
        printf("No line read...\n");

    printf("Size read: %d\n Len: %d\n", read, len);
    free(buffer);
    return 0;}


查看完整回答
反对 回复 2019-06-05
?
桃花长相依

TA贡献1860条经验 获得超8个赞

在POSIX系统上,您可能应该使用getline如果可以的话。

您也可以使用Chuck Falconer的公共域ggets函数,该函数提供语法更接近gets但没有问题。(查克·法尔科纳的网站已不复存在,尽管.‘>有一份副本,我做了我自己的gget页面.)


查看完整回答
反对 回复 2019-06-05
  • 3 回答
  • 0 关注
  • 524 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信