读取字符串中的输入

时间:2018-02-10 13:00:28

标签: c string store enter

我正在使用函数来创建电子邮件,但我不知道如何使用ObservableMap在正文部分中阅读用户的“输入”。我的代码是以下代码:

fgets

任何想法?谢谢!

2 个答案:

答案 0 :(得分:1)

假设文本的最大大小是可以接受的,则以下代码段将执行:

#define BODY_MAX_LEN (1234)

struct Email
{
   char body[BODY_MAX_LEN + 1];
   ...
}

int main(void)
{
  struct Email email = {0};

  size_t s = 0;
  while ((BODY_MAX_LEN > s) && fgets(email.body + s, BODY_MAX_LEN + 1 - s, stdin))
  {
    s = strlen(email.body);
    if (!s || ('\n' != email.body[s - 1]))
    {
      break; /* EOF detected (user pressed Ctrl-D (UNIX)/Ctrl-Z  (Window). */
    }
  }

  if (ferror(stdin))
  {
    perror("fgets() failed");
    exit(EXIT_FAILURE);
  }

  ...

答案 1 :(得分:1)

每次

之后
 printf("Subject: ");

加入

fflush(stdout);

以便显示消息