C言語なら、俺に聞け! <9>
■ このスレッドは過去ログ倉庫に格納されています
0243Kusakabe Youichi
NGNG> FILE *fp = NULL;
> char *buf = NULL; /* 行バッファです */
意味のない初期化ですね。
> size_t size = 10240;/* バッファのサイズです */
変数に入れなくてもいいのでは?
> buf=(char *)malloc(size);
エラーチェックぐらいしておけば?
> memset(buf,'\0',size);/* 塗りつぶしておきます */
何の意味があるの? (末尾だけじゃだめなの?)
> if(buf[size-3] != '\0')/* ←←ここです! *//* 行の最後まで読めなかった */
> /* 領域を拡張して読み直します */
じゃあ1行が数ギガバイトあったらそこまで拡張するのでしょうか?
> この[size-3]の添え字計算はマズイと言うか最適化されませんか?
> char *chkptr = size - 3;として
なぜ-3なの? -1 じゃなくて?
■ このスレッドは過去ログ倉庫に格納されています