2015-06-06 2 views
2

У меня есть «maze.txt» файл, который содержит несколько символов ASCII, которые представляют собой пробелы в лабиринте, как так:Как преобразовать строку в вектор в 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 жалуется, что мои параметры не соответствуют n соответствующий вызов push_back.

Кто-нибудь знает, где я иду не так? Благодаря!

ответ

4

Вы объявляете vec как vector<char>. Вы хотите объявить его как vector<string>, потому что именно это вы добавляете к нему.

+0

Ах, спасибо! Есть ли способ, который я мог бы сделать 'vec' вектор символа char? Поскольку 'getline' работает только со строкой. – chisquared

+1

Почему вы хотите сохранить вектор char? Вы действительно хотите сохранить вложенный вектор символов? –

+2

Вам не нужно делать 'vec' вектор символов. Вы можете просто использовать 'std :: string :: c_str()', чтобы получить необработанную строку стиля C – Levi

Смежные вопросы