私はC++(と一般的にはちょうどC++)でのファイルI/Oで働いてきたので、それはしばらくしているが、私は最近、友人のための小さなコンソールプロジェクトを作ってそれを使用することにしました。 私の問題は、文字列配列とファイルI/Oで問題が発生していることです(問題の原因は不明です)。次のように私のコードです(ReadPSWDSははifstreamである):シンプルなC++のファイルI/Oの問題
int i = 0;
string str[200];
ReadPSWDS.clear();
ReadPSWDS.open("myPasswords.DoNotOpen");
if(ReadPSWDS.is_open())
{
while(!ReadPSWDS.eof())
{
getline(ReadPSWDS, str[i]); //Store the line
if(str[i].length()<1 || str[i] == "")
{
//Ignore the line if it's nothing
}
else
{
i++; //Move onto the next 'cell' in the array
}
}
}
ReadPSWDS.close();
私の問題はこれをテストするには、文字列配列が空であるように思われるということです(と、ファイルにすべてのこれらの行を書くことに、ファイルがあります期待どおり空)。 文字列配列が空であり、テキストファイルの適切な行で埋められないのはなぜですか?
よろしく、
ジョー
友人の宿題/割り当て/プロジェクトのコーディングを直接指示しないように助言します。あなたは助けていない、あなたは彼/彼女を殺している。 – Donotalo
'ReadPSWDS.is_open()'がtrueであることを確認しましたか?マシンがあなたの直感を反映しているかどうかを素早く確認するには、常に印刷ステートメント(coutまたはロギング)を使用します。 –
@Donotalo Heh。これは簡単なプロトタイプであり、私は数分でうまくいっていますが、なぜ動作しないのか分かりません。 @pedrusはい、それで:if(ReadPSWDS.is_open()) –