【发布时间】:2018-07-21 02:56:18
【问题描述】:
我正在使用一个函数来创建电子邮件,但我不知道如何在正文部分使用fgets 从用户那里读取“输入”。我的代码如下:
void read_email_interactive(Email* email) {
printf("Subject: ");
fgets(email->subject,DEFAULT_MAX_FIELD,stdin);
printf("From: ");
fgets(email->from,DEFAULT_MAX_FIELD,stdin);
printf("To: ");
fgets(email->to,DEFAULT_MAX_FIELD,stdin);
printf("Body: ");
fgets(email->body,MAX_BODY,stdin);
printf("ID: ");
fgets(email->id,DEFAULT_MAX_FIELD,stdin);
有什么想法吗?谢谢!
【问题讨论】:
-
fgets()确实读取了换行符! -
是的,但是在正文消息中,用户通常会按几个“输入”,但在这里如果我按输入,它将进入下一条指令
-
我明白了,正文部分由 od 多行组成 - 你想将它们作为一个块来阅读吗?
-
这个想法是考虑阅读正文,当用户输入一个空行时,您会发现正文已完成让我们进入下一节。您也可以按照此命令执行其他命令。
-
@JIANCHEN.: 刚才说了解决方法。稍微重新设计代码,将空行作为部分的结尾。