C中的动态字符串输入

时间:2013-11-17 01:16:29

标签: c string dynamic input

我正在为我的计算I课程做一个程序,我必须从屏幕上输入单词输入(标准输入)并将单词转换为Pig Latin。

我可以轻松地将单个单词转换为Pig Latin;我的问题是输入。用户将在任意数量的行上输入任意数量的单词,然后在输入完成时在新行上输入五个句点(" .....")。教授给出的例子是:

快速的棕色狐狸 跳过懒狗 因为它不会移动
.....

如何在不知道用户输入多少字(或行)的情况下,将每行输入分成单个单词?

1 个答案:

答案 0 :(得分:0)

这样的事情应该有效:

#include <stdio.h>
#include <string.h>

int main(int argc,char** argv) {
  char input[64];
  char* token = 0;

  // get a line from input
  while(fgets(input, 64, stdin)) {
     // check for terminating characters
     if(strncmp(input, ".....", 5) == 0) break;
     // tokenize the input
     token = strtok(input, " ");
     while(token) {
       // token contains each word
       token = strtok(NULL, " ");
     }
  }
  return 0;
}