Tri*_*ian -1 c++ string vector stringstream
我无法将 a 转换char为 an int,我不知道为什么。
我只是想将从 CSV 解析的一些数据转换string为int,编译器不会让我转换。
我收到此错误:
从类型 '__gnu_cxx::__alloc_traits<std::allocator<std::__cxx11::basic_string<char> > >::value_type {aka std::__cxx11::basic_string<char>}' 到类型 'int' 的无效转换
注意我也试过:
static_cast<int>(data[2]);
Run Code Online (Sandbox Code Playgroud)
乃至
'a' - data[2];
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?我觉得我已经做了一百万次了。
time_t startDate;
string ID;
int beds;
int numDays;
string token;
vector<string> data;
for(int i = 0; i < 2; i++){ // run through the rest of the file
getline(customers, line);
stringstream s(line); // to parse the csv
while(getline(s,token, ',')){
data.push_back(token);
}
startDate = changeToInt(data[0]);
ID = data[1];
---> beds = (int)data[2];
---> numDays = (int)data[3];
Run Code Online (Sandbox Code Playgroud)
data是一个vector字符串。
因此data[0]是单string。
没有从"Hello World"(a string) 到 an 的明确转换int。
错误信息是正确的。
如果您确信该字符串是类似 int 的(例如"1234"),那么我推荐std::stoi().
| 归档时间: |
|
| 查看次数: |
71 次 |
| 最近记录: |