次のようなキーと値を含むテキスト ファイルがあります。
keyOne=1
keyTwo=734
keyThree=22.3
keyFour=5
キーは、私の例のように小文字と大文字だけです。値は整数または浮動小数点数です。各キーと値は等号 (=) で区切られています。ここで、プログラムにある変数に値を読み込みたいと思います。
これは、値を読み取ろうとしたコードです: (プログラムの変数に値を格納する部分を省略し、デモンストレーションのためにそれらを印刷するだけです。)
std::fstream file(optionsFile, std::fstream::in);
if (file.good()) {
int begin;
int end;
std::string line;
while(std::getline(file, line)) {
// find the position of the value in the line
for (unsigned int i = 0; i < line.length(); i++) {
if (line.at(i) == '=') {
begin = i + 1;
end = line.length();
break;
}
}
// build the string... it starts at <begin> and ends at <end>
const char *string = "";
for (int i = begin; i < end; i++) {
string += line.at(i);
}
// only gibberish is printed in the following line :(
std::cout << "string=" << string << std::endl;
}
}
値が出力されない理由がわかりません..代わりに、奇妙なものだけが出力されるか、何も出力されません
これが私の精神をとても激しく壊したのを助けてください:(