- 157 名前:デフォルトの名無しさん [2008/01/17(木) 15:41:20 ]
- #include <stdio.h>
#include <malloc.h> #define buffer_size 10 int main(int argc ,char *argv[]) { FILE *fp; fpos_t *start_fpos,*end_fpos; char *buffer; int n,option; option=getopt(argc,argv,"rw"); switch(option){ case 'w': fp=fopen(argv[1],"w"); buffer=(char *)malloc(buffer_size); printf("文字列を書き込んでください\n"); scanf("%s",buffer); fprintf(fp,buffer); free(buffer); break; } fclose(fp); return 0; } 指定したバッファサイズが入力文字数よりも小さい場合、 セグメンテーションエラーがでます。 #defineを変えないでmallocを使い書き加えるには何の関数を使えばいいですか? ヒントをくださいませんか?よろしくお願いします。
|

|