C言語なら俺に聞け(入門編)Part 61
■ このスレッドは過去ログ倉庫に格納されています
0416デフォルトの名無しさん
2010/03/19(金) 02:32:19#include <stdlib.h>
// 構造体 B
typedef struct tagB { int max_size; char* buff; } B;
// B を初期化する命令
void B_init( B* b ) { b->max_size=10; b->buff =(char*)malloc(sizeof(char) * b->max_size); }
// B のメモリを10ふやす命令
void B_realloc( B* b ) { b->max_size += 10; b->buff = (char*)realloc( b->buff, sizeof(char) * b->max_size ); }
// Bに char を一文字セーブする命令 ( B の buff が短かったら自動的に伸ばしてくれる )
void B_write( B* b, char c, int index ) { if( index >= b->max_size ){ B_realloc(b); B_write( b, c, index ); } b->buff[index] = c; }
// Bから char を一文字ロードする命令 ( B の buff が短かったら自動的に伸ばしてくれる )
char B_read ( B* b, int index ) { if( index >= b->max_size ){ B_realloc( b ); B_read( b,index ); } return( b->buff[index] ); }
void main() { B b; B_init( &b ); B_write( &b, 'A', 12345 ); printf("%c\n", B_read( &b, 12345 ) ); }
おこられそう…w(^_^
■ このスレッドは過去ログ倉庫に格納されています