2015-06-06 50 views
2

我有一個包含幾個ASCII字符代表空格在迷宮像這樣一個「maze.txt」文件:如何將字符串轉換爲C++中的向量?

###### 
Sa#hln 
#bdp## 
##e#ko 
#gfij# 
###### 

我用ifstream的閱讀我的txt文件,並定義一個字符串來表示它的內容所以:

vector<char> vec; 
... 

int main() { 
string s; 
ifstream mazefile("maze.txt"); 
while (getline(mazefile, s)) { 
    mazevec.push_back(s); 
} 
return 0; 
} 

我在上面定義了一個名爲vec中,我希望的地方s的內容載體展望網上,我看到,建議選用push_back這就是爲什麼我有它有很多帖子,但我的IDE抱怨說我的參數不匹配a n適當的push_back調用。

有沒有人知道我要去哪裏錯了?謝謝!

回答

4

您聲明vecvector<char>。您想將其聲明爲vector<string>,因爲這是您添加到它的內容。

+0

啊,謝謝!有什麼辦法可以讓'vec'成爲char的一個向量?由於'getline'只能使用字符串。 – chisquared

+1

爲什麼你要存儲一個char向量?你真的想存儲一個嵌套的字符向量? –

+2

你不需要把'vec'作爲一個字符的向量。你可以使用'std :: string :: c_str()'來獲得原始的C風格字符串 – Levi

相關問題