問題タブ [getline]
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++ - std::getline() が返す
次を使用してファイル内の各行を読み取るループがありますgetline()
。
私は、このような呼び出しも機能しているように見えることに気付きましたgetline()
:
何が起きてる?getline()
ストリーム参照を返します。どういうわけかポインタに変換されていますか?これは実際に良い習慣ですか、それとも最初の形式に固執する必要がありますか?
c++ - C++ の getline() - _GNU_SOURCE は不要ですか?
まず、私は C++ の初心者です。getline()
これは標準の C 関数ではないため#define _GNU_SOURCE
、使用する必要があると思います。私は現在C++を使用しており、g++_GNU_SOURCE
はすでに定義されていることを教えてくれます:
これが標準なのか、それとも設定のどこかにその定義が隠されているのか、誰でも確認できますか? 引用された最後の行の意味がわかりません。
ファイルのインクルードは次のとおりです。おそらく、これらの 1 つまたは複数で定義されていますか?
ありがとう!
c - GNU getline インターフェイスの代替実装はありますか?
私が現在取り組んでいる実験では、ソース履歴が複雑で、ライセンスが明確に定義されていないソフトウェア ベースを使用しています。合理化して固定ライセンスでリリースするのはかなりの労力を要します。
また、ランダムな unixish プラットフォームを実行することも意図しており、サポートしている libc の一部のみが GNU getline を備えていますが、現在、コードはそれを想定しています。
制限の少ないライセンスで利用できるGNUgetline
セマンティクスの再実装を知っている人はいますか?
編集:: Google が役に立たなかったので質問します。できれば書くのは避けたいです (楽しい練習になるかもしれませんが、時間を最大限に活用することはできません)。
より具体的には、問題のインターフェイスは次のとおりです。
c++ - getline() 関数に wistream& を受け入れさせることは可能ですか?
明確にするために、文字列クラスのグローバルな getline() 関数について言及しています。
私がやりたいことは、次のようなものを持つことです:
しかし、私は得ています:
それを修正するには、const wistream& read から const を削除する必要があります。なぜこれが起こっているのか理解していますが、変換せずに代わりに wistream を受け入れるように getline() を構成することは可能ですか、それとも無視して const を削除する必要がありますか?
c++ - getline() のヘルプが必要
私のプログラムでユーザーに入力を求めているのに、次のようにする理由はありますか?
最初の番号を入力した後、getline(cin, str) 行に「str」を入力する前に、「Enter Name」が出力され、すぐに「Enter Account Number」が続くのはなぜですか? ありがとう!
c++ - 非常に奇妙にcsvで読み取りを取得する
コンマで区切られた 3 つの変数を抽出するために get 行を使用して csv を読み込もうとしています。名前、コース、グレード。
私は最初の行をうまく読んでいますが、奇妙な新しい改行を入れて、フォーマットをクラスターに送信します。
これが私のコードです:
どんなアイデアでも、私はこのファイルを読むのに本当に苦労しています。
c++ - std::getline が for ループ内で機能しない
指定された時間、空白を受け入れる文字列変数でユーザーの入力を収集しようとしています。
通常cin >> str
は空白を受け入れないため、 std::getline from <string> を使用します
これが私のコードです:
何か案が?
c++ - 文字列の長さに応じたセグメンテーション違反?
getlineを使用してinfileから行を文字列に読み取り、文字列を文字列の最初のm個の非空白文字を含むc文字列に変換してから、c文字列を単一のchar配列に連結するプログラムを作成しています。
サンプルファイルは次のようになります。
したがって、2x5x5文字のchar配列になります。 問題は、上記のような小さなテストケースではコードが正常に機能することですが、大きなグリッド(100x100x100など)で試してみるとセグメンテーション違反が発生します。
このプログラムをinfileで呼び出します:./ program <infile.in
gdbを使用して実行し、バックトレースを実行しました。常に「文字列入力」という行を指します。
このセグメンテーション違反を解決する方法はありますか?ありがとう