do .. loop/textfile/操作の問題があります
-
25-10-2019 - |
質問
こんにちは私は次のコードに問題があります:
int skp = 1;
do{
file.seekp(skp);
file>>s;
cout<<s;
stats[s]++;
skp++;
skp++;
}while(skp <= 10);
TextFileには次のものがあります
1
2
3
0
1
0
1
0
私がこのプログラミングにしたいのは、それが行う2番目の数字を読むことから始めることから始まり、次に読んで、次の1つをスキップするなどをスキップします。 2回、次の番号を3回、次の番号を3回読みます。したがって、上記のテキストファイルから受け取った出力は1112223330です。
誰かが私を助けてくれませんか!ありがとうございました!
解決
これは、ラインがラインフィード(実際にはCRとLF)で区切られているためです。また、 file >> s
主要な空白をスキップするので、あなたは
<CR><LF>1
<LF>1
1
これらすべてが生じます s
1であること。
同じことが2、3などで繰り返されます。
yout seekp()を忘れて、単に使用してください
while (file.good()) {
file >> s; // skip line
if (!file.good()) break;
file >> s;
cout << s;
stats[s]++;
}
所属していません StackOverflow