うまくいったプログラムを貼り付けるスレ
■ このスレッドは過去ログ倉庫に格納されています
0089デフォルトの名無しさん
NGNG文字列を2回操作する必要もないし、ましてや 0(n^2)なんてあり得ないし。
void conc3( int n, char** elem, int result_size, char* result ) {
nbsp;nbsp;nbsp;nbsp;char c, *e;
nbsp;nbsp;nbsp;nbsp;int i, wrote = 0;
nbsp;nbsp;nbsp;nbsp;result_size--; // convart to max of zero terminated string's
length
nbsp;nbsp;nbsp;nbsp;for( i = 0; i < n && wrote < result_size; i++ ) {
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;e = elem[i];
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;while( ( c = *(e++) ) != '\0' && wrote <
result_size ) {
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;*(result++) = c;
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;wrote++;
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;}
nbsp;nbsp;nbsp;nbsp;}
nbsp;nbsp;nbsp;nbsp;*result = '\0';
}
■ このスレッドは過去ログ倉庫に格納されています