タグ

iostreamに関するagwのブックマーク (12)

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 関数アダプタ バインダ - (void*)Pないと

    http://www.geocities.jp/ky_webid/cpp/library/025.html 関数アダプタとは他の関数オブジェクトや値を、関数オブジェクトに組み合わせて新しく作成する関数オブジェクトということらしい。 これだけじゃ何のことかさっぱりわかりませんね。というわけで実際の処理を見ていきたいと思います。 関数アダプタを作るためには標準で提供されているstd::binary_functionやstd::unary_functionから派生しないといけないそうです。 因みに定義は以下になります。 template <class Arg, class Res> struct unary_function{ typedef Arg argument_type; typedef Res result_type; }; template <class Arg1, class Ar

    関数アダプタ バインダ - (void*)Pないと
    agw
    agw 2011/09/02
    ostream_iteratorの使用例。
  • 標準入出力

    (このコンテンツはメールマガジンの STL & iostream 入門に手を加えたものです。「 STL と iostream が使えるかのチェック」等はメールマガジンの方のページをご覧ください) 皆さんの想像通り、「標準入出力」に対しても、これまで紹介してきた std::strstream や std::fstream と同様に操作することができます。しかしやはり、違う部分も存在します。 そのひとつが、標準入出力の場合にはすでに専用の「グローバル変数」が存在するという点です。 std::strstream を使う時には std::strstream 型変数を、 std::fstream を使う時には std::fstream 型変数を作りました。ところが、標準入出力の場合にはその変数がすでに「グローバル変数」として存在するのです。 それは std::cout と std::cin です。で

  • ポインタの操作

  • stringstreamのクリアの仕方 - りんでん記

    メモ。はてブでもよかったんだけど。 ググってみたらこんな記事をみつけた。 > # ちなみに、stringstream の文字列のクリアは > # stringstremam::str("") で、一度はまりました(^^; (中略) stringstream::str("")は文字列ストリームのバッファを クリアする方法ですが、意外と知らない人が多いようです。 うわぁ、はまったー 知りませんでしたw (以下、6/27 追記) ちなみに、stringstream::clear()はストリームの状態フラグをクリアするのに使うみたい。 こんな感じ↓ #include <iostream> #include <sstream> using namespace std; int main(void) { string str; stringstream ss; ss << "abc"; ss >> s

    stringstreamのクリアの仕方 - りんでん記
  • std::stringstream再考 « Stop Making Sense

    August 2011 (1) July 2011 (1) June 2011 (2) April 2011 (2) March 2011 (2) February 2011 (2) January 2011 (6) December 2010 (6) November 2010 (5) October 2010 (8) September 2010 (2) August 2010 (3) July 2010 (9) June 2010 (4) March 2010 (1) February 2010 (7) January 2010 (2) std::stringstreamとは C++の標準ライブラリ(STL)で定義されている文字列ストリームで、色々な型を文字列化する際に重宝するクラスです。 JavaのStringBufferクラスに似ています。 まず、簡単な使い方から見てみましょう

  • The RoboCup Soccer Simulator

    agw
    agw 2011/05/17
    streambuf実装のサンプル(rcssbase/gzip/gzstream.*)。
  • Gzstream Library Home Page

    Introduction Gzstream is a small C++ library, basically just a wrapper, that provides the functionality of the zlib C-library in a C++ iostream. It is freely available under the LGPL license. Gzstream has been written by Deepak Bandyopadhyay and Lutz Kettner at the Computational Geometry Group at UNC Chapel Hill. Supported Systems Gzstream requires a standard compliant C++ compiler (we use the new

    agw
    agw 2011/05/17
    求めていたものとは少し異なるが、streambufの実装例。
  • 文字配列への書き込み

    (このコンテンツはメールマガジンの STL & iostream 入門に手を加えたものです。「 STL と iostream が使えるかのチェック」等はメールマガジンの方のページをご覧ください) C 言語には「文字列型」が存在しません。「文字列」を格納する場合、通常「 char 型の配列」を使用します。配列の要素ひとつひとつが、文字ひとつひとつに当たるとみなして操作します。 ですがこの文字配列は、文字列を操作するのには不便すぎます。たとえば「文字配列に文字列をコピーする」ということを直感的に行おうとすると、次のようになります。 void BadCharCopy() { char ch[128]; ch = "Nya"; // 文字列をコピー……できません。 } このコードはコンパイルエラーが発生するでしょう。これは「ポインタどうしの処理」と見なされてしまい、文字列とはまったく関係がないから

    agw
    agw 2011/05/17
    iomanipの良例が挙げられている。
  • カスタムバッファ

    (このコンテンツはメールマガジンの STL & iostream 入門に手を加えたものです。「 STL と iostream が使えるかのチェック」等はメールマガジンの方のページをご覧ください) iostream が用意するバッファクラスは「文字列」「ファイル」「標準入出力」のみっつしか用意されていません(ライブラリによっては最後のはありません)。今回は、新たにバッファクラスを作ってみましょう。 と言っても、バッファクラスの拡張は一筋縄ではいきません。「文字列」と「ファイル」では内部的な操作が全然違います。その「内部」を自分で作るわけですから、それは大変なことです。 ということで、まずは簡単な例から試してみましょう。次のクラスは「ただ文字列を格納するだけのバッファクラス」です。 ////////////////////////////////////////////////////////

  • iostreamの拡張

    Last update 1999/09/22 iostreamの拡張 (C)平山直之 無断転載は禁止、リンクはフリー 誤字脱字の指摘は歓迎 iostreamの拡張について 例によって唐突ですが、iostreamの拡張について書いてみたいと思います。ここでいう「拡張」とは、自分でcinとかcoutみたいなものを作ろう、ということです。 「こんなもん一番最初に教えんなや」と比較的評判の悪いiostreamですが、 演算子オーバーロードがいわば「御法度」な使い方をされている メソッドの命名法がやたら変 などのように表面的に美しくないのが悪評の原因で、その辺に目をつぶれば実はそれなりによくできたシステムだったりします。 拡張方法も一度覚えると結構便利ですぜ。 iostream拡張の基礎知識 iostream、というと、そのインターフェイス(Java的な意味じゃなくて)であるところのstd::cin

  • stringstreamの罠 - C/C++サンプル

    stringstreamの使いかたはcoutと同様に「 1: #include<iostream> 2: #include<sstream> 3: 4: using namespace std; 5: 6: int main( int argc, char **argv ) 7: { 8: stringstream ss; 9: 10: for( int i=0; i<10; i++ ){ 11: ss << "sample" << i << ".dat"; 12: cout << ss.str() << endl; 13: } 14: 15: return 0; 16: } 「sample0.dat」「sample1.dat」...「sample9.dat」と1行ずつ表示させたいわけだが、これを実行するとどうなるかわかるだろうか?実行結果は以下の通りである。 sample0.da

    agw
    agw 2009/08/20
    std::stringstreamの使用例。
  • 1