2012-03-22 88 views
0

我是一个C++初学者。我正试图从控制台获取一些输入。 myconsole commmands是在 “动作参数” 形成在C++中读取输入并分配给不同的变量

  • 索取
  • 创建b 1
  • 销毁Ç

基座上的输入 “请求”, “创建” 和 “销毁”,则我程序将决定处理哪个功能。我知道我可以使用cin >>变量来做到这一点。我做了一些研究,并提出了后续

string action; 
    while(true){ 
     cin >> action; 
     cout << action << endl; 
    } 

现在的问题是我只能将输入到一个变量“行动”,我怎么能分配输入另一个变量“参数”,并在串也许注意参数和整数数据类型。

感谢您的帮助。

+0

只需再添变数,各执空白,什么的。无论你喜欢,你都可以设计它。 – 2012-03-22 23:48:45

+0

再次使用'cin' ... – 2012-03-22 23:48:47

+0

嗨,我在我的视觉工作室再次尝试并成功,谢谢大家,我可以删除这篇文章吗? – onegun 2012-03-22 23:59:31

回答

0

阅读完整行并稍后拆分可能会更好。字符串流是有用的,为此目的:

#include <string> 
#include <sstream> 
#include <iostream> 

std::string line; 
while (std::getline(std::cin, line)) 
{ 
    std::istringstream iss(line); 
    std::string token; 

    while (iss >> token) 
    { 
     std::cout << "Word: " << token << "\n"; 
     // ... process tokens; e.g. store in a container 
    } 
} 
+0

问题再次使用cin解决,谢谢 – onegun 2012-03-22 23:55:44

+0

也许我应该指出'std :: cin'停在空格处。 – 2012-03-22 23:56:34

+0

@ user1275129如果这是解决方案,则应将其标记为答案。 – Lander 2012-03-23 01:18:37

0

如果你想创建一个全文模式用户界面,看看在CLI工具包: http://alexis.royer.free.fr/CLI/。 该工具包可以很容易地定义命令行语法(包括序列关键字和参数,还包括菜单和其他内容),并将它们与应在最后执行的最终例程一起插入。解析由工具包提供的库完成。

1

例如:

string str; 
int a; 
double b; 
char c; 
cin >> str >> a >> b >> c;