В переменную записывается символ, а не строка

177
17 декабря 2019, 04:20
good.open("goods.txt");
for(int i=0;i<ii;i++){
    good >> goods[i];
}
cout << goods[0];

ситуация следующая, в файле находится 3 слова. ii - переменная содержащая число 3 (good переменная типа fstream(если важно)), goods - string. Этот код должен поместить в переменную goods слова из файла и затем вывести их, но он помещает в переменную только 3 символа из первого слова, затем выводит только 1 символ. Помогите пожалуйста решить проблему, чтоб выводились слова, а не символы. Спасибо

Answer 1

Для этого goods должно быть массивом строк.

И - вы точно знаете это ii? Я бы делал так:

vector<string> goods;
for(string s; good >> s; goods.push_back(s));

Так вы получаете массив слов. естественно, выводить его как одну строку - не получится, выводите пословно:

for(const auto& s: goods) cout << s << " ";
READ ALSO
typedef для функции

typedef для функции

Хочу создать ссылку на функцию так как очень длинная цепочка вызова каждый раз

225
thread detach - закрывается окно

thread detach - закрывается окно

Вопрос странный конечно, но почему-то закрывается окно, созданное с detach после закрытия приложения которое его создалоЧто-то с сигналами?

185
Как установить LLVM_ROOT для emscripten?

Как установить LLVM_ROOT для emscripten?

У меня Linux UbuntuУстановил emsdk

217