問題タブ [fstream]
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++文字列ストリームはすべてゼロを読み取ります
1行に3つの整数を含むファイルがあります。行を読み取るときは、文字列ストリームを使用して値を区切りますが、最初の値をそのまま読み取ります。他の2つはゼロとして読み取られます。
上記の場合、idは正しく抽出されますが、収入とメンバーには実際の値ではなくゼロが割り当てられます。
編集:解決済み
どうでも。コードは正しく機能します。エラーは私のprintステートメントにありました。毎回同じインデックスで配列を出力するforループがありました。
c++ - 奇妙なfstreamの問題
私は本当に奇妙な問題を抱えています。Visual C ++ Expressでは、非常に単純なコードがあります。
これと同じコードは私の1つのプロジェクトでも問題なく機能しますが、今すぐプロジェクトを作成して同じコード行を使用すると、ファイルtest.txtは作成されません。何が問題なのですか?¨
編集:最初の機能プロジェクトと同じように、VS2008 / project_name/debugにtest.txtが表示されることを期待しています。
c++ - fstream ファイル I/O に関する質問 - ファイル ストリームをいつ閉じるか
最初のオープンが失敗した場合、fstream オブジェクトでクローズを呼び出す必要があるかどうかを解決しようとしています。
すなわち
ここでcloseを呼び出す必要があります - 常に呼び出す必要がありますか [2]、または open が成功した場合にのみ呼び出す必要がありますか? [1]
ここではやり過ぎかもしれませんが、通常これを行う Windows API の方法から、私はCloseHandle( ... );を持っています。私の心に埋め込まれた:-)
c++ - 初心者 C++ - テキスト ファイルが存在する場合は読み取り用に開き、存在しない場合は空にします
テキストベースのゲームのハイスコア サブルーチンを書いています。これが私がこれまでに持っているものです。
次のようにするにはどうすればよいですか。
ファイルが存在する場合は、読み取り用に開かれます
それ以外の場合、ファイルが作成されます
御時間ありがとうございます
c++ - クラスの一部として fstream ファイル入力用のマクロを使用する
ファイルを処理するクラスがあり、1 つの引数を持つコンストラクターの一部として、fstream
.
私は基本的にこのようなことをしたい
ファイル名を引数としてクラス コンストラクターに渡したいのですがclass someClass
、fstream
.
c++ - 読み取る文字数がわからない場合のfgetsの使用方法は?
ファイルを読み取って、そのファイルから文字列にテキストを送信して、解析できるようにする必要があります。ただし、プログラムはファイルの長さを正確に認識しないので、使用したい場合はどうすればfgets()
よいですか、またはより良い代替手段がありますか?
ノート:
c++ - 存在しないファイルでの fstream の入出力
エラーなしで ios::in と ios::out の両方で存在しないファイルで fstream を開くことは可能ですか?
c++ - 対応するストリームを書き換えずにstreambufから派生
数日前、私は先読みstreambuf
を使用するサブクラスを作成するのが楽しいだろうと決めました。mmap
私のSTL(SGI)がどのように実装され、が含まれているfilebuf
ことに気づいたかを調べました。したがって、から継承することは問題外です。basic_filebuf
FILE*
basic_filebuf
だから私はから継承しましたbasic_streambuf
。それから私は自分mmapbuf
をfstreamにバインドしたかった。
私がしなければならない唯一のことはfilebuf
...の暗黙のインターフェースをコピーすることだと思いましたが、それは明らかな間違いでした。SGIでは、basic_fstream
を所有していbasic_filebuf
ます。を呼び出しbasic_filestream.std::::ios::rdbuf( streambuf* )
ても、ファイルストリームはそれを完全に無視し、独自のを使用しfilebuf
ます。
だから今、私は少し混乱しています...確かに、私は自分自身を作成することができます、mmfstream
それは正確なコピー/貼り付けになりますfstream
が、それは実際にはDRY指向ではないように聞こえます。
私が理解できないのは、なぜfstream
これほど緊密に結合されているので、 ?filebuf
以外のものを使用できないのかということです。filebuf
ストリームとbufsを分離することの全体的なポイントは、異なるバッファーを持つストリームを使用できることです。
ソリューション:
=>filestream
の暗黙のインターフェースに依存する必要がありますfilebuf
。つまり、fstreamはstreambufクラスによってテンプレート化する必要があります。これにより、の暗黙的なインターフェイスfstream
を実装している限り、誰もが独自のstreambufサブクラスをに提供できるようになります。問題:テンプレートテンプレートパラメーターとして使用しているときにテンプレートセレクターが破損するため、にfilebuf
テンプレートパラメーターを追加できません。fstream
fstream
=>filebuf
追加の属性のない純粋な仮想クラスである必要があります。そのため、すべてのFILE*ガベージを実行せずに継承できます。
このテーマに関するあなたの考えは?
c++ - ファイルに破損した出力が表示されるのはなぜですか?
MinGWとVisualC++ 2008 Expressの両方でコンパイルした単純なプログラムがあり、どちらも88200より大きい出力ファイルを提供します。s= 0に設定すると、両方のプログラムが期待どおりに機能します。私は何が間違っているのですか?
c++ - C ++でファイルの行を数える方法は?
fstream
標準クラスを使用して行をカウントするにはどうすればよいifstream
ですか?