文字列の配列を作成しようとしてrLine
います。stdinから行を読み取る関数があり、入力された各行を配列に保存する必要がありますが、入力された文字列の行数がわかりません。したがって、それらを格納するために配列サイズを動的に増やす必要があるので、次のようなコードを記述しました。
char *res[2], *old = res;
while( 1 ){
line = rLine( stdin ), len = strlen( line );
res[row] = (char*)malloc( len + 1);
strcpy( res[row++], line);
res = (char**) realloc( res, row ); /* adding 1 more row, not sure adding size row? */
if ( /*some cond*/ ) break;
}
しかし、このコードは機能していないようです。配列を正しく宣言してサイズを大きくするにはどうすればよいでしょうか。