問題タブ [ifstream]
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++ - tellg() が失敗する考えられる理由は?
ifstream::tellg()
特定のファイルに対して-13を返しています。
基本的に、私はいくつかのソース コードを分析するユーティリティを作成しました。私はすべてのファイルをアルファベット順に開き、「Apple.cpp」から始めて完全に動作します..しかし、「Conversion.cpp」に到達すると、常に同じファイルで、1 行を正常に読み取った後、tellg() は -13 を返します。
問題のコードは次のとおりです。
コードAtEof
は次のとおりです。
Conversion.cpp の最初の行を正常に読み取った後、常にクラッシュしDEBUG - tellg(): -13
ます。
これはクラス全体TextIFile
です(私が書いたもので、エラーがあるかもしれません):
プラットフォームは、Visual Studio、32 ビット、Windows です。
編集: Linuxで動作します。
編集:原因が見つかりました:行末。Conversion と Guid とその他の両方に \r\n の代わりに \n がありました。代わりに \r\n で保存しましたが、うまくいきました。それでも、これは起こらないはずですよね?
c++ - ifstream :: rdbuf()は実際に何をしますか?
私は次のコードを持っていて、それはかなりうまく機能します(それがかなり遅いという事実を除いて、しかし私はそれについてあまり気にしません)。これがインファイルの内容全体をアウトファイルに書き込むことは直感的ではないようです。
何か洞察はありますか?
c++ - C++: cin を ifstream 変数に割り当てますか?
stdin
「-」のファイル名で指定される一般的なstdioイディオムを知っています。
ifstream
インスタンスでこれを行う最良の方法は何ですか? クラスの一部として asを持つコードを少し受け取りました。ifstream
次のようなコードを追加して、同等のことを行いたいと思います。
c++ - C ++でジェネリックistreamを宣言する
実行時にプログラムに渡されるパラメーターに応じて、ifstream または cin から読み込むプログラムを作成する必要があります。
私は次のことを計画していました:
ただし、istream は保護されており、istream を宣言することはできません。そのようなジェネリックをストリームで宣言する方法はありますか?
c++ - 特殊文字がファイルから誤って読み取られるのはなぜですか
こんにちは、私のプログラムはいくつかの設定 (ほとんどが文字列) をテキスト ファイルに保存して、後で取得できるようにしていますが、残念ながら! 特殊文字が認識されずに戻ってきます!
saveSettings は文字列を 1 つずつ保存します...
loadSettings はそれらを取得します...
一部のテキストには「é」という文字が含まれており、「8」と読み戻されます
ヒントをありがとう
c++ - C++ の関数に ifstream を渡す
遺伝子配列決定プロジェクト用に 16 の異なるサフィックス ツリーを構築しようとしています。彼らはそのようにメインで構築されています
このコードを使用して、コンストラクターでそれらを使用しようとしています:
コンパイルしようとすると、fp を使用するすべてのインスタンスで次のエラーが発生します。
suffix.cpp: コンストラクター内
Tree::Tree(std::ifstream&)
:
suffix.cpp:12: エラー: 未定義の型struct std::basic_ifstream<char, std::char_traits<char> >
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../includeの無効な使用/c++/4.1.2/iosfwd:89: エラー:struct std::basic_ifstream<char, std::char_traits<char> >
suffix.cpp:15 の宣言: エラー: 未定義の型の無効な使用struct std::basic_ifstream<char, std::char_traits<char> >
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../.. /../../include/c++/4.1.2/iosfwd:89: エラー: の宣言struct std::basic_ifstream<char, std::char_traits<char> >
c++ - C++ のオーバーロード >> 解放される Mac ポインターの ifstream が割り当てられませんでした
次のコードを試していますが、次のエラーで失敗します:
ファイル input.txt の内容は次のとおりです。完全な権限があり、ファイルはデバッガーで正常に開かれます。助けてください。
.
c++ - std::ifstreamsのstd::stackを作成できないのはなぜですか?
以下が機能しないのはなぜですか。
-PT
c++ - ファイルを開くためのコンパクトなポインター表記
コマンドラインで指定された複数のファイルを開くプログラムを書いています。私は最初に配列表記でそれを行いました。それはうまくいくようです。現在、私は練習のためにコンパクトなポインター表記法を使用してポインターに慣れようとしていますが、正しく行っていません。誰かが私が間違っていることを教えてくれますか? ありがとう。
c++ - 関数でifstreamを返す
これはおそらくあなたにとって非常に厄介な質問です:関数からifstreamを返すにはどうすればよいですか?
基本的に、ユーザーからデータベースのファイル名を取得する必要があり、そのファイル名のデータベースが存在しない場合は、ユーザー用にそのファイルを作成する必要があります。私はそれを行う方法を知っていますが、ファイルを作成した後にプログラムを再起動するようにユーザーに依頼することによってのみです。可能であればユーザーの不便を避けたかったのですが、以下の関数はgccでコンパイルされません。
編集:申し訳ありませんが、コンパイラエラーがどこで何であったかを伝えるのを忘れました:
編集:Remusが提案したように、代わりにポインターを返すように関数を変更し、main()の行を「ifstreamdatabase = * getFile()」に変更しました。今度はこのエラーが再び発生しますが、今回はmain()の行にあります。