您可以使用無論如何都會失敗atoi()
函數我相信std庫的頭文件。 它會將一個ASCII字符串轉換爲整數。所以......
#include<string>
string number, word;
std::vector<int> first;
std::vector<string> second;
ifstream inFile(File);
if (inFile.is_open()) {
while (inFile >> number >> word) {
first.push_back(atoi(number));
second.push_back(word);
}
}
您可能需要進行檢查,以確保您atoi()
推到載體之前,但這個可能是你的情況下工作沒有失敗。
好運
編輯:基於下面指出atoi()
可能是一個不錯的選擇,我將修改我的答案的評論。請參閱this鏈接。它接受的答案建議使用std::stoi()
所以要修改我的答案...
#include<string>
string number, word;
std::vector<int> first;
std::vector<string> second;
ifstream inFile(File);
if (inFile.is_open()) {
while (inFile >> number >> word) {
first.push_back(std::stoi(number));//changed this line
second.push_back(word);
}
}
你不能把一個'string'到int'的'向量。可以使'first'成爲字符串的向量,或者執行字符串到int的轉換。 –