このスレッドはロックされています。記事の閲覧のみとなります。
トップページ > 記事閲覧
特定の文字の切り出し
名前:moti 日時: 2018/12/15 00:59

文字列で例えば char mojiretsu = "eee,aaa,ice"; となった時に,(,)で切り出して a = "eee"; b = "aaa"; c = "ice"; とする方法がしたいのですが,どうすればいいでしょうか?
メンテ

Page: 1 |

Re: 特定の文字の切り出し ( No.1 )
名前:管理人 日時:2018/12/15 10:36

色々方法はありますが、とりあえず文字列関係の関数に頼らない方法の プログラムを組んでみましたので、よろしければご覧ください m(_ _)m #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { char mojiretsu[] = "eee,aaa,ice" ; char a[ 1024 ] ; char b[ 1024 ] ; char c[ 1024 ] ; int i, j, k ; // ウィンドウモードで起動 ChangeWindowMode( TRUE ) ; // DXライブラリ初期化処理 if( DxLib_Init() == -1 ) { return -1; // エラーが起きたら終了 } // eee の部分を a にコピー( , があるところまでループ ) for( i = 0 ; mojiretsu[ i ] != ',' ; i ++ ) { a[ i ] = mojiretsu[ i ] ; } a[ i ] = 0 ; // 終端文字( 数値の 0 )を代入 // aaa の部分を b にコピー( , があるところまでループ ) for( i = i + 1, j = 0 ; mojiretsu[ i ] != ',' ; i ++, j ++ ) { b[ j ] = mojiretsu[ i ] ; } b[ j ] = 0 ; // 終端文字( 数値の 0 )を代入 // ice の部分を c にコピー( 終端文字( 数値の 0 )があるところまでループ ) for( i = i + 1, j = 0 ; mojiretsu[ i ] != 0 ; i ++, j ++ ) { c[ j ] = mojiretsu[ i ] ; } c[ j ] = 0 ; // 終端文字( 数値の 0 )を代入 // 画面に描画 DrawFormatString( 0, 0, GetColor( 255,255,255 ), "a %s", a ) ; DrawFormatString( 0, 16, GetColor( 255,255,255 ), "b %s", b ) ; DrawFormatString( 0, 32, GetColor( 255,255,255 ), "c %s", c ) ; // キー入力待ち WaitKey() ; // DXライブラリ使用の終了処理 DxLib_End() ; // ソフトの終了 return 0 ; }
メンテ
Re: 特定の文字の切り出し ( No.2 )
名前:moti 日時:2018/12/15 16:32

ありがとうございますm(_ _"m) .csvの(,区切り)を利用したかったのです。(o_ _)o))
メンテ

Page: 1 |