<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;

}