gpt4 book ai didi

c - 如何执行 sscanf 最多 70 个字符或换行符

转载 作者:行者123 更新时间:2023-11-30 15:23:13 26 4
gpt4 key购买 nike

我想使用 sscanf 读取字符串的 70 个字符或换行符(以先到者为准)。我知道 %[^\n] 允许我读取直到到达换行符,但是我该如何读取最多 70 个字符呢?

最佳答案

一个简单的解决方案

#define MAXCHAR (70)
char buf[MAXCHAR + 2]; // extra for \n and for \0
if (fgets(buf, sizeof buf, stdin) == NULL) {
Handle_EOForInputError();
}
// clear potential \n
buf[strcspn(buf, "\n")] = 0;

如果您确实需要使用 sscanf(),请确保 dest[0] = '\0' 以应对 buf[0] 时的情况='\n'。在这种情况下,sscanf(buf, "%70[^\n]" 不会在 dest 中放置任何内容。

char dest[71];
dest[0] = '\0';
sscanf(buf, "%70[^\n]", dest);

关于c - 如何执行 sscanf 最多 70 个字符或换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28909978/

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