問題タブ [wifstream]

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 投票する
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 投票する
2 に答える
99 参照

c++ - .txt ファイルから読み取った wstring は正しく印刷されませんが、ファイルに書き戻すと問題ありません

while !eof ループを使用して .txt ファイルから wstring を読み取っています。

しかし、wcout で印刷すると、一部の文字が別の文字に変換されます。これまでのところ、č は e (後ろ向きのコンマが上にある)、ě は i (後ろ向きのコンマが上にある)、そして š はエラー文字になっています。最初に、フォーマットの問題が疑われました。しかし、文字列を新しい .txt ファイルに書き込むと、まったく問題ありません。

また、私は_setmode(_fileno(stdout), _O_U8TEXT);wcout を動作させるために使用しています。

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

c++ - wifstream の seek と imbue が正しく動作しない

以下のようなファイルがあります。

C++ でこの 1 行を読みたいと思います。

以下の方法でコンパイルします。

まず、 wss.seekg(std::ios_base::end) はファイルの末尾にファイル位置を移動しないようです:

次に、ロケール関連の行のコメントを外すと、getline は 2 文字しか読み取りません。

私のコンパイラ:

このファイルで上記の問題が発生する理由を知っている人はいますか?

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

c++ - wifstream を使用して、Unicode を含むテキスト ファイルを wchar_t ポインタに読み込むにはどうすればよいですか?

wifstreamを使用して、Unicode 文字をテキスト ファイルからwchar_tポインター配列に読み込もうとしています。コード スニペットを次に示します。

動いていない。返される長さは 252 で、これは正しいファイル サイズ (バイト単位) です。ただし、配列は空のままです。

次の条件はtrueを返します。

g ++を使用してLinuxでプログラムをコンパイルしています。私は何を間違っていますか?助けてくれてありがとう。