gpt4 book ai didi

c - 如何在C中获取变量字符/字符串的输入?

转载 作者:行者123 更新时间:2023-11-30 15:17:41 24 4
gpt4 key购买 nike

我遇到一个问题,我需要从用户(命令行)获取输入,并且其格式为 [char char char] 或 [char string],即 3 个字符或一个字符和一个字符串。

我需要单独的字符和字符串,没有空格等,并且所有这些都必须在一行上输入。

我当前的解决方案仅适用于 3 个字符,但我不确定如何让它同时适用于 3 个字符或一个字符和一个字符串。

这是我当前的代码:

char move[3];

while(1){
int i = scanf(" %c %c %c", &move[0], &move[1], &move[2]);

if(i == 3){
break;
}
}

如果有人知道我如何实现我想要的,我将非常感激。

最佳答案

一种常见的方法是使用这样的东西:

char move[80];
char* tok = NULL;
if (fgets(move, 80, stdin) != NULL) {
printf("Now you need to parse: %s\n", move);
/* then split into tokens using strtok */
tok = strtok(move, " ");
while (tok != NULL)
{
printf("Element: %s\n", tok);
tok = strtok(NULL, " ");
}
}

然后使用 C 字符串处理函数解析 move。您可以使用 strtok 来获取 2 个以上的代币。如果每个元素的 strlen 1 则为 3 个字符的情况,如果第一个字符为 strlen 1,第二个字符为 1+ 长度,则为第二种情况。

关于c - 如何在C中获取变量字符/字符串的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32124756/

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