問題タブ [extraction-operator]

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

c++ - 文字列ストリームの抽出が機能しない

文字列ストリームからのデータの抽出に問題があるようです。抽出の開始時に最初の 2 文字が欠落しているようです。

次のコードに似たものがあります。

「ssnew」からデータを読み取るときに抽出演算子を使用すると、最初の 2 文字がスキップされるように見えるという問題があります。たとえば、デバッガーでは、stringstream に「001.111.62.2003... など」が含まれていることが示されています。ただし、最初の "ssnew >> bValid" の後、bValid は "true" になり、dValue は "0.111" になり、dTime は "0.62" になり、ストリームの最初の 2 つのゼロが無視されることを示します。ストリームの最初から開始しないのはなぜですか?

乾杯、セス

0 投票する
3 に答える
1740 参照

c++ - std :: istreamから(演算子>>を使用して)読み取るにはどうすればよいですか?

std::istreamを使用してどのように読み取ることができoperator>>ますか?

私は次のことを試しました:

しかし、それはエラーを与えます:

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

c++ - 私のプログラムを終了させる抽出演算子?

常連ですが初投稿です!細かいところが好きなのはわかりますので、頑張ります。誰からの情報も歓迎します。

数字の動的配列を持つオブジェクトの抽出演算子のオーバーロードに取り組んでいます。コンソール入力の先頭には空白があり、次に int があり、その後に何かが続きます。空白を無視して int を抽出し、残りはそのままにしておく必要があります。簡単でしょ?

オンラインで見つけたコードの例を次に示します。

今、私はこの方法がうまくいくかもしれないことを理解していますが、私には非常に非効率的な方法のように思えます. 1 兆桁の数値の場合、Grow() は配列を 1 兆回再割り当てします! おそらく、これは私が思っているほど悪くはありませんか?

私の現在の方法は、seekg() と peek() と get() を使用しています。そのようです:

また、ここに私のメインがあります:

私の人生では、プログラムが終了する原因を見つけることができません。最後の出力は、「B is now: -1」と言っているようです

これは << B が失敗したことを意味すると思います。現在、B は 0 に初期化されており、残りのコードでは他の問題は発生していません。プライベート メンバー データには、ポインターと長さ (桁数) のみが含まれます。また、C2I() は「0」から「9」を 0 から 9 に変換する関数です。

私にとって大きな問題は、私が解析にかなり慣れていないことです。そのため、これをテストするための非常に雄弁な方法や他のアイデアを持っていません。

繰り返しになりますが、皆さんのすべてのことに感謝しています。ここを閲覧することで、すでに多くのことを学びました。

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

c++ - C++ 抽出演算子: 読み取った桁数をどのように知ることができますか?

私は整数を読みました:

ここで、読み取られた桁数を知りたいと思います (先行ゼロの可能性について話している)。どうやってやるの?

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

c++ - Istream から読み取り、最初に 1 つの単語を読み取り、次に行全体を読み取り、それを返す方法は?

私は次の構造体を持っています:

課題は、名前とアドレスを読み取る読み取り関数を作成することです。たとえば、私が最初に書いた関数は次のとおりです。

ただし、この関数は の単語以上を取ることができませんaddress。たとえば、入力が次の場合:

リー・ゴズウェル・ロード

出力はperson.name= "Lee" およびperson.address= "Goswell" になります。私が欲しいのは、基本的にアドレス全体を読み取る機能です。この問題を次のように解決しようとしましたが、アドレスが暗黙的に変更されるため、正しいかどうかはわかりません。

別の関数を作成する必要があると言う前に考慮すべきもう 1 つのことは、名前とアドレスの両方を読み取る 1 つの関数を作成することです。

0 投票する
1 に答える
214 参照

c++ - 出力の予期しない改行

この回答には、次のコードがあります。

出力は次のとおりです。

スパダイナ 76 156

バサースト 121 291

キール 70 61

ベイ 158 158

私の予想される出力はスペースを2倍にしません:

スパダイナ 76 156
バサースト 121 291
キール 70 61
ベイ 158 158

次のように変更すると、期待される出力が得られますoperator>>

これはコンパイラのバグか何かのように思えますが、Visual Studio 2013gcc 4.9.2 の両方でこの動作が見られるのは奇妙なことです。

誰かが私にこれを説明できますか?

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

java - 正規表現を使用してオペランドから演算子を分割して抽出する

演算子とオペランドを含む方程式があります。私はそれを分割し、演算子とオペランドを次のように 1 つの文字列配列に抽出したいと考えています。

これに対して推奨される正規表現パターンはありますか?

0 投票する
1 に答える
1744 参照

c++ - iomanip 関数はどのように実装されていますか?

一部の標準iomanip関数はパラメーターを受け取ります。

これがどのように達成されるか知りたいのですが、たとえば、関数で同様のことを行うことはできますか? それが本当にこの回答に必要な解決策ですが、これを行う方法がわかりませんでした。

setwたとえばhttp://en.cppreference.comで関数の定義を調べたところ、戻り値の型が「未指定」としてリストされており、パラメーターを取るのではなく、1 つの引数しかリストされていませんstream&。これはどのように作動しますか?

読者への注意:

この質問には優れた回答がありますが、この質問を調べている個人にとっては。この回答は、によって提供される次の機能と組み合わせた場合にのみ役立ちますios_base

0 投票する
1 に答える
41 参照

c++ - 文字列抽出演算子をローカルでオーバーライドする

単語ごとに読み取るのではなく、ストリームから行単位で読み取るユーティリティ関数のセットがあります。それらは s で動作するので、これらの関数のスコープ内のみで抽出演算子stringをローカルに変更したいと思います。stringそれは可能ですか?


私が今していることは、 である を作成し、その構造体のみの抽出演算子を作成するstructことですstring

そして、次のistreamように抽出します。

struct lineこれはうまくいきますが、ラッパーが好きではありません。私が求めているのは、istream& operator>>(istream& lhs, string& rhs)代わりにこれを達成するためにローカルでオーバーロードできますか?