我一直在解决一个问题。我需要扫描 a\n以结束循环并将其删除以不与其他文本一起保留在变量中。到目前为止,我有这个:
do {
scanf("%[^\n]", userinput); //loads stdin to char[] variable
end = userinput[0]; //loads one char to char variable
scanf("%*c"); //should remove \n
strcpy(inputstorage[i], userinput); //copies userinput into 2d array of
i++; //string with \n removed
} while (end != '\n'); //should end cycle when I hit enter
这样做是,当我按下回车键时,它会将最后一个字符保留在变量末尾。
例如我输入:' Hello'
在userinput是:' Hello'
在end是' H'
当我之后按 enter 时,结束变量应该包含 \n 但H由于某种原因它包含 ' '。感谢您提供的所有帮助