gpt4 book ai didi

c - 使用 sscanf 读取带空格的字符串

转载 作者:太空狗 更新时间:2023-10-29 16:20:44 24 4
gpt4 key购买 nike

对于一个项目,我试图从一个字符串中读取一个 int 和一个字符串。唯一的问题是 sscanf() 在看到空格时似乎无法读取 %s。无论如何要绕过这个限制?这是我正在尝试做的一个例子:

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

int main(int argc, char** argv) {
int age;
char* buffer;
buffer = malloc(200 * sizeof(char));
sscanf("19 cool kid", "%d %s", &age, buffer);

printf("%s is %d years old\n", buffer, age);
return 0;
}

它打印的是:cool is 19 years old 我需要cool kid is 19 years old。有谁知道如何解决这个问题?

最佳答案

下一行将开始读取一个数字 (%d),后跟任何与制表符或换行符不同的内容 (%[^\t\n])。

sscanf("19 cool kid", "%d %[^\t\n]", &age, buffer);

关于c - 使用 sscanf 读取带空格的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2854488/

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