ファイルの入出力 †基本事項 #include <stdio.h> #include <stdlib.h> /* exitを使用する */ #include <string.h> /* strlenを使用する */ #define MAX_NAME 62 #define MAX_STR 256 int main(void) { FILE *fin; char original[MAX_NAME]; char str[MAX_STR]; printf("input file name you want to copy > "); fgets(original, MAX_NAME, stdin); original[strlen(original) - 1] = '\0'; /* 改行コードの処理 */ fin = fopen(original, "r"); if(fin == NULL) { printf("can't open.\n"); exit(1); } while(fgets(str, MAX_STR, fin) != NULL) { printf("%s", str); } return 0; } 上書き確認についての注意 †同じ名前のファイルがすでに存在する場合、本当に上書きしてもよいか確認するメッセージを表示させたい場合があります。 #include <stdio.h> #include <sys/stat.h> /* stat構造体のデータ型宣言 */ int main(void) { struct stat st; if(stat(ファイル名, &st) == -1) { printf("ファイルは存在しません。\n"); } return 0; } stat関数はstat構造体に引数ファイルの情報を格納しようとします。 |