gpt4 book ai didi

c - 如何在 C 中的 scanf() 函数中使用无限类型说明符?

转载 作者:太空宇宙 更新时间:2023-11-04 08:52:12 25 4
gpt4 key购买 nike

我想在 scanf() 函数中使用无限类型说明符 (%c)。

例如-

printf("Enter characters: \t");
scanf("--SPECIFIERS--");

所以它不确定用户将输入多少个字符。我不希望我的程序询问用户“字符数”.. 但我想允许任何字符数。但是不能在scanf()中输入无穷大的%c。谁能告诉我如何在 C 中做到这一点?

最佳答案

I want to use infinite type specifiers (%c) in scanf() function.

您想读取未指定数量的数据。您可以尝试几种方法:

  • 使用 POSIX 标准 getline(3)功能
  • scanf() 中使用 POSIX 标准 m 赋值分配函数族

    char *str;
    scanf("%m[^\n]", &str);
  • 一次读取输入一个字符,并边读边扩充缓冲区。 stackoverflow 上漂浮着一些函数,就是这样做的

前 2 个还分配了你应该free(3) 的内存。

关于c - 如何在 C 中的 scanf() 函数中使用无限类型说明符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19245270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com