これがかなりうるさい場合は申し訳ありませんが、私はC ++にかなり慣れていません。私はファイルを開いてそれを使ってそれを読み込もうとしていますifstream
:
vector<string> load_f(string file) {
vector<string> text;
ifstream ifs(file);
string buffer, str_line;
int brackets = 0;
str_line = "";
while ( getline(ifs, buffer) ) {
buffer = Trim( buffer );
size_t s = buffer.find_first_of("()");
if (s == string::npos) str_line += "" + buffer;
else {
while ( s != string::npos ) {
str_line += "" + buffer.substr(0, s + 1);
brackets += (buffer[s] == '(' ? 1 : -1);
if ( brackets == 0 ) {
text.push_back( str_line );
str_line = "";
}
buffer = buffer.substr(s + 1);
s = buffer.find_first_of("()");
}
}
}
return text;
}
ただし、次のエラーが発生します。修正方法がよくわかりません。
variable 'std::ifstream ifs' has initializer but incomplete type
回答ありがとうございます。#include <fstream>
ヘッダーを含めることを忘れたために多くの人がエラーを受け取ったので、私がを忘れたことはありません。
編集:
実際にを含めるのfstream
を忘れたことがわかりましたが、関数を別のファイルに移動したために忘れていました。
9
質問の最後を読んでください。;)
—
ビーカー2013
この答えは私を助けました。私の場合は、fstreamを含む別のヘッダーファイルを削除したためです。解決策はfstreamを含めることでした。
—
Andres Riofrio 2014年
と混同しないでください
—
ヨアヒムW
<iostream>
。するだけ<fstream>
です。
この質問はあまりにもローカライズされていません。これは私が抱えていた問題を正確に説明しています。
—
Syndog、2014
回答を含むOPの+1。古いプロジェクトインクルードでビルドされた別の開発者のコードをマージするときに、マージのために送信されないのを助けました。明らかにあまりにもローカライズまたは狭くありません。
—
Kenigmatic