問題タブ [wofstream]

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.

0 投票する
0 に答える
854 参照

c++ - C++ が UTF-8 エンコード ファイルを保存しない

特殊文字 (「çäüëé」など) を含む utf-8 ファイルを保存する必要があるソフトウェアで作業しています。

保存するコンテンツ (特殊文字がエンコードされた通常の文字列) を Web サービス (gsoap を使用) から受け取りました。ofstream を使用して保存しようとすると、特殊文字ではなく四角形やその他の奇妙な文字がファイルに保存されます。

通常の文字列をワイド文字列に変換しようとすると、特殊文字が失われます (別の文字に置き換えられます)。また、wofstream を使用すると、特殊文字がある場合、ファイルはファイルを保存しません。

utf8-cpp も使用しようとしましたが、正しく書き込まれていないファイルもありました。

0 投票する
1 に答える
473 参照

c++ - 標準 C++ でのトランザクション ファイルの保存

、などCopyFileのシステム固有の API 呼び出しを使用せずに、標準 C++ でトランザクション ファイルの保存を実装することは可能ですか?ReplaceFileCreateFile

現在、私は次のようにしています(Win32 API固有のコードを使用):

Win32 API 固有の関数 (つまり、標準ライブラリまたはブーストのみ) を使用せずに同様のことを達成する方法はありますか?

0 投票する
1 に答える
174 参照

c++ - ストリームを使用してクラス オブジェクトをファイルに書き込む

クラスオブジェクトをファイルにシリアル化/逆シリアル化するためのこのコードがあり、動作しているようです。ただし、2 つの質問があります。

  1. 代わりに 2 つの (現在のように) クラスに1 つと 1 つのメンバー変数wstringを持ちたい場合はどうすればよいでしょうか? (そのような場合、私のコードは機能しないと思いますか?)。wstringstring
  2. 最後に、以下のメインで、s2.product_name_= L"megatex";megatex の代わりにロシア語で何かを書いた場合 (たとえば、s2.product_name_= L"логин") を初期化すると、コードが意図したとおりに機能しなくなります。

何が間違っている可能性がありますか?ありがとう。

コードは次のとおりです。

0 投票する
1 に答える
274 参照

c++ - Ustringエラー(印刷時)

UTF-8 ファイルを ustring に解析したいので、このファイルを str で読み取ります。エラーがあります: 'Glib::ConvertError' のインスタンスをスローした後に終了が呼び出されました。私は何をすべきか?

0 投票する
2 に答える
240 参照

c++ - wregexを使用するとガベージ出力が作成されますか?

正規表現を使用してファイルをトークン化する簡単なプログラムを作成しました。非 Unicode コンテンツの場合は正常に機能します。Unicode ベースのコンテンツ用に wregex バージョンを作成しましたが、このバージョンではガベージ出力が作成されます。

Unicode 文字または文字列をコンソール画面に出力しようとしているのではなく、それらをmap<wstring,int>wostream タイプのファイルに保存して、値がそのままで正しいものになるようにしました。アプリケーションを実行した後、抽出されたトークンを含むファイルには、ゴミだけが含まれています!!!

このプログラムの何が問題なのですか?どうすれば修正できますか?

これは の内容ですftest.txt:

そして、これは内部のガベージ出力ですlist.txt

0 投票する
1 に答える
1945 参照

c++11 - shared_ptr 間の変換方法C++ で FILE* に?

関数を作成し、それを介してポインターを渡しますが、このためにアプリケーション全体で FILE ポインターを複数回使用しようとしています。基本的に私はこのビットのコードを持っています

これが繰り返され、代わりに次のようなものが必要になりました。

および関数の場合:

これは単に機能しません。&*fp代わりに使用してみましfp.get()たが、まだ運がありません。

0 投票する
5 に答える
1703 参照

c++ - 英語以外の文字列をファイルに書き込み、C++ でそのファイルから読み取る方法は?

をファイルに書き込みたいのですstd::wstringが、そのコンテンツを として読み取る必要がありますstd:wstring。これは、文字列がL"<Any English letter>". しかし、ベンガル語、カンナダ語、日本語など、英語以外の文字がある場合に問題が発生します。次のようなさまざまなオプションを試しました:

  1. ファイルへの変換とファイルstd::wstringstd::stringの書き込み、および読み取り時間の読み取りstd::stringと変換std::wstring
    • 書き込みは行われていますが (編集から確認できました)、読み取り時間が間違った文字になっています
  2. wofstreamstd::wstringに書き込むと、これは次のような母国語の文字にも役立ちません。 std::wstring data = L"হ্যালো ওয়ার্ল্ড";

プラットフォームはmacとLinux、言語はC++

コード:

0 投票する
1 に答える
1311 参照

c++ - std::wofstream がすべての wstring をファイルに出力しないのはなぜですか?

サイズがstd::wstring139,580,199 文字の があります。

デバッグのために、次のコードでファイルに出力しました。

その後、文字列の末尾が欠落していることに気付きました。作成されるファイルのサイズは 109,592,584 バイトです (「ディスク上のサイズ」は 109,596,672 バイトです)。

バッファにヌル文字が含まれているかどうかも確認し、次のようにしました。

結果が期待されますstd::wstring::nposが、それはです18446744073709551615が、私の文字列には最後に null char がないので、おそらく問題ありません。

なぜすべての文字列がファイルに出力されていないのか、誰かが説明できますか?

0 投票する
1 に答える
172 参照

c++ - wofstream使用時のC++未解決の外部シンボル

このソース コードをバッチ ファイルからコンパイルしてリンクしています。現在インポートしているライブラリは次MSVCRT.LIB Kernel32.lib User32.lib
のとおりです。コードは、いくつかのオブジェクトを含めて作成するまで機能string iostreamfstreamますwofstream。そのとき、リンカーは未解決のシンボルの大きなリストを表示します。その中には次のようなものがあります。

だから、どのライブラリが欠けているのだろうかと思います。リンカーで/nodefaultlibオプションを指定したので、使用するライブラリを決定できますが、現在この問題があり、これらの標準関数のライブラリが見つかりません。