2007-04-24 :-)
_ [C++]素人が書く C++
都合により Win32API と STL を混ぜたいのだけど、一部がこんな感じになりました。ううむ。
#include <stdio.h> #include <map> #include <string> using namespace std; int main( int ac, char** av ) { string s; map< string, string > m; map< string, string >::iterator p; m[ "ゆきな" ] = "yukina"; m[ "ゆか" ] = "yuka"; m[ "さくら" ] = "sakura"; for( p = m.begin(); p != m.end(); p++ ) { s = p->second; puts( s.c_str() ); } puts( "----" ); puts( m[ "ゆか" ].c_str() ); puts( "----" ); s = m[ "さくら" ]; puts( s.c_str() ); return 0; } % ./a.out sakura yuka yukina ---- yuka ---- sakura
_ [STL][C++][split]素人が書く C++
Ruby などの split のようなものを std::string にあることを期待したのだけど無かったので自分で書いてみました。
#include <iostream> #include <string> #include <vector> using namespace std; vector< string > split( char* str, char* sep ) { vector< string > v; char* token; string s; token = strtok( str, sep ); while( token != NULL ) { s = token; v.push_back( s ); token = strtok( NULL, sep ); } return v; } int main( int ac, char** av ) { int i; vector< string > v; char str[] = "ゆきな ゆか さくら"; v = split( str, " " ); for( i = 0; i < v.size(); i++ ) cout << v[ i ] << endl; return 0; }
% ./a.out ゆきな ゆか さくら
_ [STL][C++][split][string]素人が書く C++
char* じゃなくてせっかくだから std::string を使ってみました。
#include <iostream> #include <string> #include <vector> using namespace std; vector< string > split( string str, string sep ) { string::size_type start = 0; string::size_type end = 0; vector< string > v; do { end = str.find( sep, start ); v.push_back( str.substr( start, end - start ) ); start = end + 1; } while( string::npos != end ); return v; } int main( int ac, char** av ) { int i; vector< string > v; string str( "ゆきな ゆか さくら" ); string sep( " " ); v = split( str, sep ); for( i = 0; i < v.size(); i++ ) cout << v[ i ] << endl; return 0; }
% ./a.out ゆきな ゆか さくら
そこを無理にでも機動六課にしないとっ!
よしみつくん<br>「出来たばかりなので新鮮ですよ!」と言うんですね (゜ω゜ )<br>( なのはネタだよね )
ちょwwwwロー(肉)が無いから、これ別の料理wwww
うさ<br>言うなれば「ホイコー」? (ノ∀`)
ただの野菜炒めということでいいのでは?
さいきくん<br>それじゃ面白くない (´ω` )