問題タブ [seekg]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C ++はファイルの一部を無視するようにシークしますか?
C++ で非常に簡単な質問があります。に相当するものは何ですか
バイナリファイルseekg
のサイズの一部を無視するには?length
どうもありがとうございました !
c++ - 相対ファイルC++のレコードのフィールドを更新できません
相対ファイルにレコードを追加した後、ユーザーがアカウント番号を提供する特定のレコード(クライアント)の1つのフィールド(残高)を更新しようとしています。更新はファイルで行われますが、正しく実行されていません。出力は、更新が他のデータに影響を与えたことを示しており、ガベージも含まれています。問題の原因がわかりません。あなたの助けをいただければ幸いです。Dev-C++を使用しています。コードとそれに続く出力は以下のとおりです。
c++ - seekg() 関数が失敗する
テキストファイルを読み取るが、最初の行を2回読み取る単純なコードを作成しようとしています。これはこのようなものと同じくらい簡単だと思いました
ただし、最初の行は 2 回処理されないため、seekg は失敗するはずです。理由はありますか?
注意: これは私が直面している問題ではなく、複数のクラス コードと複数の関数を貼り付ける必要がないように簡略化したものです。実際の問題は、ファイル ポインタが複数のクラスの複数の関数に渡されることに関係しています。最初の関数は呼び出される場合と呼び出されない場合があり、ファイルの最初の行を読み取ります。2 番目の関数はファイル全体を読み取りますが、ファイルの先頭にいることを確認するために、まず seekg を呼び出す必要があります。
上記のコードを使用して、説明を簡単にしました。
c++ - 無効な引数を探しますか?
初めてseekgを使おうとしています。ドキュメントでは、引数は次のようになります。
istream& シーク ( streampos pos );
istream& seekg ( streamoff off, ios_base::seekdir dir );
From what I understood, 'streampos pos' could be an int? I saw examples like "seekg(0)" However when try to compile this it says I'm using invalid arguments:
I even tried to cast it to streampos directly:
same thing. seekg(0), nothing too. What's wrong?
c++ - 成長するテキストファイルをC++で読み取る方法は?
大きくなっているファイル(何が起こっているのかと似ています)から読み込もうとしていますtail -F
が、コードに問題があるはずです。
//*1行と//*2行がないと、ログファイルは最後まで正しく読み取られますが、新しい行が追加されても何も起こりません。
seekgとtellgを使用して、ファイルの現在の終了位置を保存しようとしています。これにより、ファイルを再度開いたときに、そこに移動して、追加された内容を読み取ることができます。
コードの何が問題になっているのか、そしてこの目的のために同じファイルを閉じて再度開く必要があるかどうかを知りたいのですが。
ありがとうございました。
c++ - リダイレクトされたstdinから入力を取得するときにseekg()を使用する
だから私はcin.get()を使って文字列を2回読み込もうとしています。入力は「プログラム<入力」としてリダイレクトされています。したがって、seekg()を使用することは有効です。
タイトルにあるように、seekg()を使用して文字列の開始位置を保存できると思ったので、同じ文字列の開始位置を再び使用できるようになりました。
これが私の試みです:
2番目のwhileループは何もしていないので、明らかにseekgを正しく使用していません。誰かが私が間違っていることを教えてもらえますか?
助けてくれてありがとう!
c++ - seekg は 4294967295 バイトのファイルを正しく処理できません
VS2010 で正確に 4294967295 バイトのファイルを開くと、seekg 関数が正しく動作しないことがわかりました。
私は単純なコードを使用しています:
4294967294 と 4294967296 のファイルを使用した同じコードは問題なく動作しています。
誰かがこの問題の解決策を知っていますか?
アップデート:
その問題はここにあるようです:
正確に
どこ
したがって、 4294967295 を取り、それを -1 に変換します!
つまり、そのようなコードは失敗します
_Myoff、_Fpos、streamoffset は 64 ビットです
すべての型が 64 ビットであるのに、なぜこの変換を行うのでしょうか!? 何も思いつきません ))
c++ - seekg関数が機能しないのはなぜですか?
コードは次のとおりです。
ファイルの内容は単なる文字列です。
出力は次のとおりです。
印刷された最後の文字がまだ「x」であるのはなぜですか?seekg関数がファイルポインタを1バイト戻しないのはなぜですか?
c++ - seekg はどのようにしてファイルの終わりを見つけますか?
ファイルで seekg & tellg を使用するシナリオでは、フードの下で何が起こっているのだろうか?
Q1:シークは、特別な「EOF 文字」が見つかるまで、実際にファイルの内容全体を調べますか? それとも、ファイルシステムによって提供される他の情報を使用して、ファイルの終わりがどこにあるかを「知る」のですか?
Q2: seek はストリーム シーク操作です。これは、ファイルの内容全体がストリームを通過する必要があるということですか?
これがどのように機能するかについての基本的な理解しかない場合は、ご容赦ください。
c++ - file.seekg()の使用の難しさ(C ++)
次のコードは、ファイルを1回だけ出力します。
ファイルを実行した後のeofフラグと関係があると思いますが、それを修正する方法がわかりません。
乾杯。