gpt4 book ai didi

c - 通过 C 中的空格将用户输入的字符串拆分为单独的标记

转载 作者:太空宇宙 更新时间:2023-11-04 00:03:33 26 4
gpt4 key购买 nike

我正在尝试逐字打印用户输入的字符串,或标记化。我有:

char input [1000]; 

char* token;
scanf("%s", input);

token = strtok (input," ,.");

while (token != NULL){
printf("%s\n",token);
token = strtok(NULL, " ,.");
}

当我在控制台输入一些东西时,说“test test one two three.”,只有第一个字被打印出来。

最佳答案

您仅使用 scanf 扫描第一个单词。 scanf需要格式化的字符串输入,即在您的情况下:

scanf("%s %s %s %s", string1, string2 ...

这对你没用。您应该考虑使用 fgets .

请注意,gets 无法限制输入大小。如果您不单独使用,可能会对您的内存造成非常危险。使用 fgets

Here is a live example.

关于c - 通过 C 中的空格将用户输入的字符串拆分为单独的标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33248801/

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