我想从standart输入中读取字符串并在控制台上输出。我用这种方式:

char* cmdline;

do{
    scanf("%s\n", &cmdline);
    printf("%s\n", cmdline);
}while(cmdline != "quit");

但这不管用。我有这个错误Segmentation fault (core dumped)

最佳答案

char* cmdline

是一个指针。您没有分配存储字符串的空间。
你应该:
cmdline = malloc(size_of_string);

用于分配动态内存以存储字符串。
否则,请使用char数组而不是指针:
char cmdline[size_of_string];

关于c - C从标准错误读取字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6008636/

10-08 22:45