以下代码应该从用户那里获取含有存储物品数据的字符串。
我遇到了麻烦,无法让程序迭代到新的一行。当我按下“回车”时它会终止,但实际上我需要它将下一行作为输入。 代码如下:
程序应在下一行获取字符串“stop”时中止,而不是通过按Enter键。
我遇到了麻烦,无法让程序迭代到新的一行。当我按下“回车”时它会终止,但实际上我需要它将下一行作为输入。 代码如下:
for (i; i < STORE_SIZE; i++) {
fgets(seq, MAX_STRING_LEN, stdin);
if (strcmp(seq, "stop")) {
break;
}
else {
init(seq, ptr);
*(storage + i) = ptr;
}
}
程序应在下一行获取字符串“stop”时中止,而不是通过按Enter键。
strcmp
在匹配时返回的内容。它并不像你代码中所想的那样。另外,请查看从fgets()输入中删除尾随换行符。 - kaylumfgets
。fgets()
函数时,始终检查返回值以确保操作成功。一种方法是:for (i; i < STORE_SIZE && fgets(seq, MAX_STRING_LEN, stdin); i++) {
- user3629249init(seq, ptr);
并且不能通过该行代码更新ptr
的内容。也许你的意思是:init(seq, &ptr);
。 - user3629249