C/C++の宿題を片付けます 90代目
■ このスレッドは過去ログ倉庫に格納されています
0086デフォルトの名無しさん
2007/06/16(土) 18:31:57>if((i = strlen(str) < B_MAX-1))
括弧の位置がおかしい。「i = strlen(str)」を括弧でくくらないと。
strのバッファサイズなのでB_MAXじゃ無くてS_MAX。
「strlenの返す値は'\0'を含まない」
-1じゃなくて-2でないとオーバーフローする。
-1にしたい(改行こみで50文字までの文字列にしたい)なら、
char bigstr[B_MAX+1]={0};
char str[S_MAX+1]={0};
>str[i-1] = '\n';
最後の1文字が消えちゃう。
strcatで文字列"\n"を追加する方が楽かも。
■ このスレッドは過去ログ倉庫に格納されています