問題タブ [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.
awk - 連結されたコマンドで AWK で getline を使用する方法
これは私を狂わせています。私がやりたいのは、コマンドを awk からターミナルに渡すことだけです。コマンドは、他の変数から連結された文字列です。
awk のドキュメントには、次のようなことが書かれています
$1 の値を var に入れる必要があります。しかし、そうではありません。ここで何が欠けていますか?
私は実際にループを持っていることを追加する必要があります
入力ファイルのような
出力
なんてこったい。
c++ - getline()を使用したC ++は出力します:解放されるポインターはXCodeで割り当てられませんでした
std:getline()を使用しようとしていますが、奇妙なランタイムエラーが発生します:
malloc:*オブジェクト0x10000a720のエラー:解放されるポインターが割り当てられませんでした*デバッグするためにmalloc_error_breakにブレークポイントを設定します
これは、このエラーを生成するコードです。
各単語の前に、このエラーが発生します。コメントから、OSX/XCode固有のエラーのようです。そのためのヒントはありますか?
更新: エラーはデバッグモードでのみ出力されます。このコードをリリースモードでビルドすると、すべて問題ありません。
更新2: その問題の詳細については、こちらをご覧ください。
解決:
セットする
_GLIBCXX_FULLY_DYNAMIC_STRING = 1
ターゲット情報ビルドタブのプリプロセッサマクロで。
システム情報:
OSX 10.6.2 | XCode 3.2 | g ++ 4.2 | i386のデバッグ設定
c++ - string::getlineのeofをチェックしています
std::getline
関数を使用してファイルの終わりを確認するにはどうすればよいですか?使用すると、ファイルの終わりを超えて読み取ろうとするまでeof()
通知されません。eof
bash - gawk / awk: 日付を getline にパイプする *時々* うまくいかない
日付をある形式から別の形式に変換しようとしています。たとえば、「2005 年 10 月 29 日」から 2005-10-29 に変換します。625 の日付のリストがあります。オークを使っています。
ほとんどの場合、変換は機能します。ただし、場合によっては変換がまったく行われず、(変換された) 日付を保持するはずの変数が未定義のままになることがあります。
これは常にまったく同じ行で発生します。これらの奇妙な行の日付に対して (Bash シェルから) 明示的に「date」を実行すると、問題なく動作します (日付は適切に変換されます)。-- 重要なのは、それらの行のテキストの内容ではありません。
この動作の理由と、スクリプトを修正するにはどうすればよいですか?
彼女は:
この問題を再現したい場合:
- このファイルをダウンロードします: uBXr0r15.txt。
- Awk スクリプトを実行します。
- bug-out-3.txt で「undefined」を検索します。
(「未定義」は、私のコンピューターで 122 回見つかりました。)
その後、スクリプトを再度実行すると、(私のコンピューターでは) bug-out-3.txt は変更されず、まったく同じ日付が未定義のままになります。
(Gawk バージョン 3.1.6、Ubuntu 9.10。)
敬具、マグナス
c++ - ifstream を使用した getline 関数に関する C++ のヘルプ
そのため、ファイルの読み取りと書き込みを処理するプログラムを作成しています。テキスト ファイルの一部の行には複数の要素が含まれている可能性があるため、getline() 関数を使用します。今まで getline で問題が発生したことはありません。これが私が得たものです。
テキスト ファイルは次のようになります。
そして、次のようなコード:
このコードをデバッグしたところ、name == "John Smith" ではなく、name == "John"、Address == "Smith" などであることがわかりました。私は何か間違ったことをしていますか?どんな助けでも大歓迎です。
c++ - getline(cin, variable) が C++ で正しく動作したくないですか?
これまでの私のプログラムは次のとおりです。
ここでは問題の提供者であるため、メインのみを含めています。他のすべては適切に機能します。
選択肢 'D' (新しい文字列を入力) を使用すると問題が発生します。Enter キーを押すとすぐに、プログラムは選択プロンプトに戻り、inputString 変数を空白に設定します (空白という単語ではなく、何も含まれていません)。 )
最初の getline(cin, inputString) は完全に正常に動作します.2番目のものは問題の原因です...何か提案はありますか?
c++ - C++ ifstream メンバーに対して getline を適切に使用するにはどうすればよいですか
さて、getlineに問題があります。
いくつかの文字列を含むファイルがあります。私は自分で作成し、各文字列を別々の行に配置しました。
プログラムをデバッグして string1 を出力するように依頼すると、「Line 1\r」が string1 に保存されていることがわかります。ファイルを作成したときに実際にEnterキーを押したことが原因だと理解しています。この問題により、プログラムにセグメンテーション違反が発生します。ofstream を使用して最初にファイルを書き込んでから読み込むと、コードが機能することがわかっています。
したがって、私の質問では、エスケープシーケンス \r を取得せずに getline 関数を使用する方法はありますか? 明確でない場合は、お知らせください。
c++ - getline()はEclipseでは空の行を返しますが、DevC++では正しく機能します
これが私のコードです:
input.txtの内容:
Enclipseでは、無限ループになります。MinGW 5.1.6 +EclipseCDTを使用しています。
いろいろ試してみましたが、問題が見つかりませんでした。
c++ - std::stringstream が失敗/不良ビットを設定できる方法は?
単純な文字列分割に使用する一般的なコードは次のようになります。
誰かが、これは で発生するエラーを黙って「飲み込む」と述べましたstd::getline
。そしてもちろん、私はそうであることに同意します。しかし、実際にここで何がうまくいかない可能性があるのか 、心配する必要があることに気づきました。基本的には、すべてこれに要約されます。
Astringstream
は によってサポートされているstring
ため、ファイルからの読み取りに関連する問題について心配する必要はありません。getline
行区切りまたはEOF
. boost::lexical_cast
そのため、何かが心配しなければならないようなエラーを取得することはできません。
問題が発生する可能性のある十分なメモリの割り当てに失敗する以外に、何かを考えることはできませんが、イベントが発生するstd::bad_alloc
前に問題が発生するだけstd::getline
です。私は何が欠けていますか?