gpt4 book ai didi

c - 在 C 中获取用户的连续输入

转载 作者:行者123 更新时间:2023-11-30 20:26:08 25 4
gpt4 key购买 nike

我正在开发一个项目,我必须在 c 的终端中从用户那里获取输入,直到他们输入 quit 然后我结束程序。我意识到我不能这样做:

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

int main(int argc, char **argv){
char *i;
while(1){
scanf("%s", i);

/*do my program here*/
myMethod(i);

}

}

所以我的问题是如何获取连续的用户输入?我可以用循环来完成它还是我还能做什么?

最佳答案

首先,您必须为正在读取的字符串分配空间,这通常是使用宏大小的 char 数组来完成的。 char i[BUFFER_SIZE] 然后将数据读入缓冲区,fgets可能比 scanf 更好为了那个原因。最后检查退出案例,strcmp“退出”

#include <stdio.h>
#include <string.h>

#define BUFFER_SIZE BUFSIZ /* or some other number */

int main(int argc, const char **argv) {
char i[BUFFER_SIZE];
fgets(i, BUFSIZ, stdin);
while (strcmp(i, "quit\n") != 0) {
myMethod(i);
fgets(i, BUFSIZ, stdin);
}
}

通过 fgets 获得的字符串保证以 null 终止

关于c - 在 C 中获取用户的连续输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26771388/

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