問題タブ [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++ - C ++のgetlineまたはcinがスペースを含む文字列を受け入れないので、Googleを検索しましたが、まだ困惑しています。
まず第一に、私を助けてくれたすべての人に感謝します!
スペースと特殊文字をそのまま使用した文字列をに格納しようとしていますMessageToAdd
。
私は使用getline (cin,MessageToAdd);
していて、私も試しcin >> MessageToAdd;
ました。
私はとても困惑しています!サンプル入力を入力すると
テスト
すべてが意図したとおりに機能します。しかし、私が使用する場合
テストテストテスト
を押すまで、コンソール全体が速く点滅しCtrlCます。
変数を一番上に置くという私のスタイルは時代遅れです。私はまだ自分自身を教えているので、私を許してください、そしてそれは単に習慣の力です。私はこれを解決した後すぐに私のスタイルを変更します:)
c++ - getlineでのC++タイムアウト
プログラムの終了時にスレッドが自己終了できるように、すべてのスレッドがまだ実行されていることを定期的にチェックする必要があります。1つを除くすべての場合、これは状態変数をチェックするだけの問題ですが、最後のスレッドはユーザー対話スレッドであり、そのループはユーザー入力を無期限に待機し、ユーザーが命令を入力したときにのみ状態変数をチェックします。この時点で、プログラムは実行されていないときにクラスが正しく動作できないため、とにかく失敗します。ただし、理想的には、この点に到達したくないのです。
可能であれば、getlineのタイムアウトが最善の解決策だと思いますが、それが不可能または適切なオプションである場合は、スレッドを適切に終了できるオプションを利用できます。
余談ですが、std::getlineについて多くの言及があります。getlineは、名前空間を使用するかどうかに関係なく機能するようです。一方は他方のエイリアスであり、どちらを使用するのが適切ですか?
c++ - ifstreamを使用したgetline()の予期しない動作
簡単にするために、ifstreamクラスとそのgetline()メンバー関数を使用してCSVファイルのコンテンツを読み取ろうとしています。これがこのCSVファイルです:
そしてコード:
getlineは、最後の読み取り以降に書き込まれたものを取得し、「、」、または「\ n」に遭遇すると停止することを想定しているため、すべての数値が読み取られることを期待しています。
しかし、「4」、つまり2行目の最初の数字(コンソールを参照)を除いて、すべてをうまく読み取るようです。
したがって、私の質問:getlineがそれを考慮に入れようとさえしないほど(私が推測する)'\ n'の後にこの'4'を作るのはなぜですか?
(ありがとうございました !)
c++ - 空の文字列を返すgetline
fstreamからのgetline命令に問題があります。これは私のコードからの抜粋です:
このコードは、最初に実行されたときにmission_fileを開き、次の反復で保存ファイルを開く必要があります。保存ファイルは、すべてのサイクルの最後に作成されます。少なくとも、このように機能するはずです。なぜなら、最初はすべてが完璧に機能しますが、次の反復では「mission_file.getline(buffer_line、256);」です。空の行を返し、プログラムをクラッシュさせます。また、boolean_1がfalseとして開始された場合、サイクルは次のサイクルまで正常に機能します。
必要な「.txt」の存在をすでに確認しました。mission_fileとsave_fileの両方がis_open()trueを返します。
c++ - テキストファイルから読み取るときにgetlineを使用する
私は最初にインデックスのようなメカニズムを構築し、getlineを使用してテキストファイルの各行を読み取り、既知のヘッダー宣言(string.compare)と一致するかどうかを確認し、そのポイントへのインデックスとしてtellg位置を保存します。次に、seekg(index、ios :: beg)を使用して、ファイル内のヘッダーがある場所を検索します。インデックスを作成してseekg(0、ios :: beg)を呼び出すときにファイルを一度読み取った後、次のgetlineは、ファイルの最初の行が表示されると予想される空の文字列を返します。
私の問題をよりよく強調するために、私のコードの一部を以下に示します
getLineID関数は、文字列比較の結果に応じてintを返します。
ファイルを再度読み取る必要がある場合、getlineの使用は正しくありませんか?
c++ - プログラムはユーザー入力を受け取らずにGetline()をスキップしています
これは非常に奇妙な問題です。私のプログラムがユーザーにアドレスを要求すると、入力を待つのではなく、getline()関数を完全にスキップするように見えます。
コンソールへの出力
cin.getline()とgetline()はどちらも同じことをします。
私はMVC++2008を使用しています。
Record配列のすべてのフィールドは構造体であり、Record[Entrynumber].Addressはchar配列です。
c++ - プログラムにリダイレクトされたファイルからデータの特定のセグメントを読み取るC++
リダイレクトされたファイルを入力として受け取るプログラムに取り組んでいます。たとえば、私のプログラムがfooと呼ばれる場合、プログラムを。で呼び出します./foo < input.txt
。プログラムで実行しているファイルは、最初の行が1つの整数、2番目の行が2つの整数でフォーマットされているはずです。だから何かのような
最初の行では無視する必要がありますが、一部のファイルには無関係な文字が含まれていることがわかりました。何かのようなもの
私はただ行うだけでデータを読み込んでいましcin >> var >> var 2 >> var3;
たが、その余分なtがミックスに投入されると、すべてが台無しになります。この問題を回避する最良の方法は何でしょうか?最初の変数をcinした後、残りの行をスキップするように指示する方法はありますか?または、getline
関数を使用して、それを何らかの方法で解析しますか?ありがとう。
c++ - cin.getline は入力の 1 行をスキップして次の行を取得しています
body 入力の 2 行目で cin.getline が機能し始めるのに、最初の行で中断するのはなぜですか?
プログラムの実行例:
c++ - Mac OSX での C++ std::getline のサイズ制限
Mac OSX Snow Leopard で std::getline に問題があります。何らかの理由で入力のサイズが制限されていますが、Debian/Ubuntu ではサイズは無制限ですか?
制限に関する手がかりはありますか?
c++ - ループの問題。Cin C++ getline クリア バッファ
問題が発生していますが、何が間違っているのかわかりません。ループに問題があるのか、それとも cin バッファーがクリーンアップされていないのかはわかりません。C スタイルの文字列を大文字に変換するプログラムを実行していますが、ユーザーが 11 文字を超える文字を入力すると、関数は最初の 11 文字のみを表示し、それ以降は表示されません。問題は、 11 文字を超えると、私のループは停止せず、入力された回答が無効であることと、新しい文字列を入力したいかどうかをユーザーに伝え続けます。