- 522 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 17:42:18.79 ID:v5sVsR9k0.net]
- プロトコルなんか無しに来たものを読みきるだけの話なら
allocsz = blocksz = 512 buff = malloc(allocsz); use = 0; for (;;) { w = read(FIFO, buff+use, allocsz-use); if (w == 0) { /* もう来ない */ break; } else if (w > 0) { use += w: if (use >= allocsz) { // 器が尽きた allocsz += blocksz; buff = realloc(buff, allocsz); // 手抜きで realloc } } else { /* エラーケアしてね */ } } buff に use バイトだけ収まってる
|

|