将字符串拆分为多个基本类型

2024-01-24

我正在编写一个程序,该程序从用户读取字符串并使用它来处理请求。发出提示后,我可以期待以下三种可能的响应之一:

  1. 串串
  2. 字符串整数
  3. string

根据用户给出的命令类型,程序将执行不同的任务。我在尝试处理用户输入时遇到了困难。需要明确的是,用户将以单个字符串的形式键入命令,因此用户执行选项二的示例可能会在提示后输入“age 8”。在此示例中,我希望程序将“age”存储为字符串,将“8”存储为整数。解决这个问题的好方法是什么?

根据我在这里收集的信息,使用 strtok() 或 boost 可能是一个解决方案。我都尝试过,但都没有成功,如果有人可以帮助让事情变得更清楚,那将非常有帮助。提前致谢


得到一行输入后std::getline,你可以使用std::istringstream回收文本以进行进一步处理。

// get exactly one line of input
std::string input_line;
getline( std::cin, input_line );

// go back and see what input was
std::istringstream parse_input( input_line );

std::string op_token;
parse_input >> op_token;

if ( op_token == "age" ) {
    // conditionally extract and handle the individual pieces
    int age;
    parse_input >> age;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将字符串拆分为多个基本类型 的相关文章

随机推荐