問題タブ [ofstream]
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++ - オーバーロードされた演算子 << on ストリーム連結の問題
次のコードがあります。
#1が機能する理由を理解しようとしていますが、#2のように連結するオーバーロードされた演算子を使用しようとすると問題が発生し、次のエラーで失敗します(MacOSXのgcc 4.5.3):
エラー: 'std::basic_ostream' 左辺値を 'std::basic_ostream&&' /GCC-FACTORY/4.5/INSTALL/lib/gcc/x86_64-apple-darwin10.5.0/4.5.3/../../ にバインドできません。 ./../include/c++/4.5.3/ostream:579:5: エラー: 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&&, const _Tp&) [with _CharT = char, _Traits = std::char_traits, _Tp = simple]'
代わりに、演算子を次のように定義すると、すべて問題ありません
オーバーロードの解決に関連するもののように聞こえます。オーバーロードが既に提供されている ofstream に何かが挿入されている場合 (この場合は const char * "label")、オーバーロードの解決後に分割されますが、正確に何を理解することはできませんがここで行われています。コンパイラが何をしようとしているのかを明確に把握したいと思います..
c++ - ofstream は Windows7 で改行を txt に出力しません
\n
そのために使用している印刷物を印刷したいときに問題がありendl
ます。問題は、Windows7でコードを実行すると、改行が出力されないことです。ただし、Ubuntuでは改行が出力されます。どちらの OS も同じコンパイラ GNU g++ を使用しています。
それで、Windowsで改行をファイルに出力する別の方法があるのだろうか?
c++ - C# C++ の ifstream/ofstream に相当
これはおそらく以前に尋ねられたことは知っていますが、SOのどこにも見つからず、Googleで検索しても明確な答えが得られません。
C++ の ifstream/ofstream に相当する C# を知る必要があります。
たとえば、次の C++ コードがあるとします。
C#に相当するものは何ですか?
私は、(ファイル内の部分についてはともかく)同等のものはこれであると述べたサイトを見つけました:
これを入れてみました:
VSが認識しなかったため、「FileMode」がありません。また、"input" は、入力ファイル名の文字列値を保持するパラメーターの文字列です (例: "myFile.txt")。
ばかげたマイナーなものが欠けていることはわかっていますが、それが何であるかわかりません。これに関する助けがあれば大歓迎です!
私はVS2010、C#-4.0、WPF APIで開発しています。
c++ - std::fstream を閉じる必要がありますか?
重複の可能性:
ifstream を手動で閉じる必要がありますか?
呼び出す必要がありますfstream.close()
かfstream
、それとも破壊時にストリームを閉じる適切な RAII オブジェクトですか?
メソッド内にローカルstd::ofstream
オブジェクトがあります。close を呼び出さずにこのメソッドを終了した後、ファイルは常に閉じられていると仮定できますか? デストラクタのドキュメントが見つかりませんでした。
c++ - 私のプログラムはファイルから何も出力していません:/
次の演習を行っています。
私のコード:
しかし、MS VSでデバッグすると、「続行するには何かキーを押してください...」と表示されます。
Data.txt ファイルはどこに追加すればよいですか?
c++ - ファイルへのcharの保存の問題
おい。ofstreamを使用してcharをファイルに書き込む際に問題が発生しました。これがコードの外観です(動作を示すためだけです。これは実際のコードではありません)。
問題は、最初のファイルの文字を正常に読み取ることですが、2番目のファイルに書き込むと、本来のように最初のファイルからすべての文字が追加されますが、文字がなくなると、多くの文字が追加されますファイルの終わりにある「Ì」文字の。
fx:
ファイル1: abc
ファイル2: abcÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ..
プログラムがファイルに「Ì」を保存しないようにするにはどうすればよいですか?
EDIT2:
c++ - ofstream でのバイナリ データの書き込みに関する問題
マイク入力を WAV ファイルに記録するアプリケーションを作成しています。以前は、指定されたサイズのバッファを埋めるためにこれを書いていましたが、うまくいきました。さて、任意の長さに録音できるようにしたいと思います。これが私がやろうとしていることです:
- 32 個の小さなオーディオ バッファをセットアップする (循環バッファリング)
- ofstream で WAV ファイルを開始 -- PCM の長さを 0 に設定してヘッダーを書き込みます
- 入力にバッファを追加する
- バッファが完了すると、そのデータが WAV ファイルに追加され、ヘッダーが更新されます。バッファをリサイクルする
- ユーザーが「停止」を押したら、残りのバッファをファイルに書き込んで閉じます
ファイルが正しい長さ(ヘッダーとファイルサイズが正しい)になるという点で、それは一種の機能です。ただし、データは地獄のように不安定です。私が言ったことの類似性を理解することができます - そしてタイミングは正しいです - しかし、この反復的な歪みのブロックがあります. 基本的に、データの半分だけがファイルに取り込まれているように聞こえます。
コードが使用するいくつかの変数を次に示します (ヘッダー内)。
ファイルを準備するコードは次のとおりです。
バッファを受け取るコードは次のとおりです。これは、受信データが正しいことを前提としています。正しいはずですが、正しくない可能性も排除していません。
そして、これはファイルを閉じるコードです:
ファイルに不正なデータが追加される可能性があると思われるものがあれば、お知らせください。そうでない場合は、(コールバックで) 入力データをトリプル チェックします。このデータは、より大きなバッファー (たとえば 2 分) にコピーしてから保存すると機能するため、適切なはずです。
c++ - ofstreamを使用して基本的なテキストデータを書き込もうとしています
タブ区切りのファイルにテキストデータを書き出そうとしています。これがコードです。Name()とFile()はCStringWを返し、ID()はintを返します。
しかし、私が期待する出力を取得する代わりに、ファイルは次のようになります
何が得られますか?
c++ - ofstream が 0x0A の前に 0x0D バイトを挿入するのはなぜですか?
C++ を使用して符号なし文字の配列を出力してofstream fout("filename");
いますが、間に偽の文字が生成されます。これは、問題を引き起こすコードの一部です。
これは配列の定義です:
0x0D
出力ファイルでは、 と の間0x09
にスプリアスが表示され0x0A
ます。印刷される直前にデバッグモードで配列をチェックしましたが、変更されていません。この問題についてどう思うか教えてください。
c++ - C++のintmainのofstreamの引数/宣言はどうあるべきですか?
データをファイルに出力することを唯一の目的としてテストofstream
したところ、問題なくコンパイルできます。int main()
ただし、中に他の引数がint main(...)
あると、次のエラーが発生します。ofstream
で宣言するにはどうすればよいint main(...)
ですか?