gpt4 book ai didi

c++从vector和stdout中的stdin存储读取

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:53:19 25 4
gpt4 key购买 nike

我正在测试这段读取标准输入并将其存储在 vector 和标准输出中的代码..知道问题出在哪里吗??

#include <iostream>
#include <vector>
#include <string>


using namespace std;

int main() {
vector<string> vs;
vector<string>::iterator vsi;

string buffer;
while (!(cin.eof())) {
getline(cin, buffer);
cout << buffer << endl;
vs.push_back(buffer);
};

for (int count=1 , vsi = vs.begin(); vsi != vs.end(); vsi++,count++){
cout << "string" << count <<"="<< *vsi << endl;
}

return 0;
}



[root@server dev]# g++ -o newcode newcode.cpp
newcode.cpp: In function ‘int main()’:
newcode.cpp:19: error: cannot convert ‘__gnu_cxx::__normal_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >’ to ‘int’ in initialization
newcode.cpp:19: error: no match for ‘operator!=’ in ‘vsi != vs.std::vector<_Tp, _Alloc>::end [with _Tp = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, _Alloc = std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]()’
newcode.cpp:20: error: invalid type argument of ‘unary *’
[root@server dev]#

最佳答案

for 循环的初始化部分,您声明了一个类型为 int 的新变量 vsi

解决问题的一种方法:

vsi = vs.begin();
for (int count=1; vsi != vs.end(); ...

关于c++从vector和stdout中的stdin存储读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12934436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com