<STEP1>
それでは、ファイルに文字列を書き込んでみましょう。
#include <stdio.h>
#include <string.h>
#include <errno.h>
int main(){
FILE* fp;
char filename[]="test2.txt"; //[]を取ったら…?
errno = 0;
fp = fopen(filename, "w");
//ファイルオープン時のおまじないここから
if(fp == NULL){
perror("ファイルをオープンできませんでした。");
return 1;
}
//ファイルオープン時のおまじないここまで
printf("ファイルをオープンしました。\n");
fputs("My name is Suzuki Ichiro.\n", fp);
fputs("Your name is Sato Ken.\n", fp);
int status;
status = fclose(fp);
//ファイルクローズ時のおまじないここから
if(status == EOF){
fprintf(stderr, "ファイル名:%sは、クローズできませんでした。、%s", filename, strerror(errno));
return 2;
}
//ファイルクローズ時のおまじないここまで
printf("ファイルをクローズしました。\n");
return 0;
}
<STEP2>
ユーザの指定したファイル名で、ユーザが入力した文字列をファイルに書き込んでみましょう。
#include <stdio.h>
#include <string.h>
#include <errno.h>
int main(){
FILE* fp;
char filename[100];
printf("ファイル名を入力してください:");
scanf("%s", filename);
errno = 0;
fp = fopen(filename, "w");
//ファイルオープン時のおまじないここから
if(fp == NULL){
perror("ファイルをオープンできませんでした。");
return 1;
}
//ファイルオープン時のおまじないここまで
printf("ファイルをオープンしました。\n");
char content1[100];
printf("1行目の内容を入力してください:");
scanf("%s", content1);
fputs(content1, fp);
fputs("\n", fp);
fputs("Your name is Sato Ken.\n", fp);
int status;
status = fclose(fp);
//ファイルクローズ時のおまじないここから
if(status == EOF){
fprintf(stderr, "ファイル名:%sは、クローズできませんでした。、%s", filename, strerror(errno));
return 2;
}
//ファイルクローズ時のおまじないここまで
printf("ファイルをクローズしました。\n");
return 0;
}