■ [c][c++] open_memstream() glibcなどにはopen_memstreamという関数がある。 FILE *open_memstream(char **ptr, size_t *sizeloc); これは自動的に伸長するバッファをバックエンドに持つFILEポインタを返してくれる。データ長が分からない文字列構築をするときなどに便利。なお、sizelocにNULLを指定することはできない模様。サンプルコードと実行結果をメモ。 #include <stdio.h> #include <stdlib.h> int main() { char* p; size_t size; FILE* fp = open_memstream(&p, &size); if (!fp) return 1; fputs("hello", fp); fflush(fp); printf("%s