为什么提取操作不工作
Why is the extraction operator not working?
我在Google的Code Jam中尝试了一些问题。对于商店信用问题,我有以下c++代码:
if (input.is_open()) {
getline(input, line);
ss << line;
ss >> nCases;
for (int i = 0; i < nCases; i++) {
getline(input, line);
ss << line;
ss >> credit;
cout << credit << endl;
getline(input, line);
ss << line;
ss >> nItems;
cout << nItems << endl;
int list[nItems];
}
input
是文本文件(所有内容都已正确初始化),line
是一个字符串变量,用于保存从文本文件中新提取的行,而ss
是一个字符串流。nCases
, credit
和nItems
只是int变量。让我感到困惑的是,当我获得nCases
时,提取操作符如何按预期工作,但一旦我试图检索credit
和nItems
的值,就停止工作。
用ss.str(line); ss.clear();
代替ss << line;
重置流
如果这些只是每行整数,那么为什么不使用atoi
if (input.is_open()) {
getline(input, line);
nCases = atoi( line.c_str() );
for (int i = 0; i < nCases; i++) {
getline(input, line);
credit = atoi( line.c_str() );
cout << credit << endl;
getline(input, line);
nItems = atoi( line.c_str() );
cout << nItems << endl;
int list[nItems];
}
相关文章:
- 为什么在popback()操作之后,它仍然打印完整的矢量
- QSqlquery prepare()和bindvalue()不工作
- 在 c++ 中对字符串进行操作的关系运算符无法按预期工作
- 使 Flutter C/C++ 互操作示例正常工作
- 异步操作的 Asio 处理程序在其同步对应项正常工作时不会调用
- 重载按位 OR('|'),用于链接操作无法按预期工作
- 为什么我的文件/目录操作在Windows上工作正常,但在Linux上不能
- 无法获得新的 tf。在 Tensorflow 中的 Python shell 中工作的操作
- 此数组操作在C++中如何工作
- 这种按位操作是如何工作的
- 类复制操作,它是如何工作的
- 在boost MPL中,如何检查操作是否按预期工作
- 指针上的此操作如何工作
- 设置自定义对象不工作的操作
- 前缀(++x)和后缀(++ +)操作是如何工作的
- 栈push操作实现不工作
- 为什么此内联程序集中的错误操作无法正常工作
- 为什么提取操作不工作
- 由于在返回语句中使用了布尔或操作,因此递归如何对以下代码工作
- BSF操作码不工作