- スレ立てるまでもない質問はここで 137匹目
301 :デフォルトの名無しさん[sage]:2014/07/09(水) 00:53:22.96 ID:rIAouqom - int count;
char value[0x100], separator, stab; FILE *csv = stdin; while( feof( csv ) ) { count = fscanf( csv, "%255[^,\"\n]%c", value, &separator ); if( 1 == count ) { if( feof( csv ) ) return; continue; /* ここは本来255文字を超過した文字列に対する処置が必要 */ } if( 2 == count && '"' != separator ) continue; /* 「"」で囲んだ値の処理 */ while( feof( csv ) ) { count = fscanf( csv, "%255[^\"]%1[\"]", value, &stab ); if( 1 == count && feof( csv ) ) /* 例外処理 */; if( 2 == count ) value[strlen( value )] = '"'; /* ここは本来255文字を超過した文字列に対する処置が必要 */ } } こんなもんかな。valueを2次元配列にしたり、用途によって手直しがいるけど、 CSVの読み込みは大体こんなもんだろ。
|
|