C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

ループ条件内のiostream::eofが間違っていると見なされるのはなぜですか?


ループ内のiostream::eofは、EOFに達していないため、間違っていると見なされます。したがって、次の読み取りが成功するという意味ではありません。

C++のファイルストリームを使用してファイルを読み取りたい場合。また、ループを使用してファイルに書き込む場合、stream.eof()を使用してファイルの終わりをチェックすると、実際にはファイルが終わりに達したかどうかをチェックしています。

サンプルコード

#include<iostream>
#include<fstream>
using namespace std;
int main() {
   ifstream myFile("myfile.txt");
   string x;
   while(!myFile.eof()) {
      myFile >> x;
     // Need to check again if x is valid or eof
     if(x) {
        // Do something with x
     }
   }
}
かどうかをもう一度確認する必要があります

ストリームをループで直接使用している場合、条件を再度確認することはありません。

サンプルコード

#include<iostream>
#include<fstream>
using namespace std;
int main() {
   ifstream myFile("myfile.txt");
   string x;
   while(myFile >> x) {
      // Do something with x
      // No checks needed!
   }
}

  1. Python3-なぜループが機能しないのですか?

    それは機能します。ループ内でsleep()メソッドを使用したため、(0.9 * 36)秒間アクティビティは発生しません。入力を求めているのではありません。ループの終了後、ウィンドウには、指定された文字列を含むテキストフィールドが表示されます。

  2. デュアル カメラがスマートフォンに適していると考えられる理由

    お気づきかもしれませんが、ほとんどのハイエンド携帯電話にはデュアル リア カメラが搭載されています。 Apple、Samsung、Nokia、Sony などの業界の巨人でさえ、画質を向上させるためにデュアル カメラに依存しています。 同じリーグに続いて、ほとんどのスマートフォン ブランドは、主力スマートフォンにデュアル カメラを導入しました。この技術の実装の背後にあるアイデアは、間違いなくプロのカメラのような写真をスマートフォンで撮影することです. しかし、これでデュアルカメラの謎が解けるわけではありません。 DSLR を見ると、それらも 1 つのレンズで動作します。では、なぜ業界はスマー