- 1 1. Cèšèªã«ããããã¡ã€ã«æäœã®åºæ¬ãšã¯ïŒ
- 2 2. ãã¡ã€ã«ãéãã»éããæ¹æ³ïŒfopen / fcloseïŒ
- 2.1 ãã¡ã€ã«æäœã®åºçºç¹ã¯ãfopenããã
- 2.2 ã¢ãŒãæå®ïŒçšéã«å¿ããéãæ¹ãéžãŒã
- 2.3 fopenã®æ»ãå€ã¯å¿ ããã§ãã¯ããã
- 2.4 åŠçãçµãã£ãããfcloseãã§å¿ ãéãã
- 2.5 fopenã»fcloseã®ãŸãšããšãã¹ããã©ã¯ãã£ã¹
- 2.6 å®è·µçãªäŸïŒãã°ãã¡ã€ã«ã远èšã¢ãŒãã§éã
- 3 3. ãã¡ã€ã«ãžæžãèŸŒãæ¹æ³ïŒfprintfã»fputsã»fwriteïŒ
- 3.1 Cèšèªã§ã®ãã¡ã€ã«æžã蟌ã¿ã¯ããã©ãŒãããããšããã€ããªãã«åããã
- 3.2 fprintf颿°ïŒprintfæèŠã§æžãããã¡ã€ã«åºå
- 3.3 fputs颿°ïŒ1è¡ããšã®ããã¹ãåºåã«äŸ¿å©
- 3.4 fwrite颿°ïŒãã€ããªãã¡ã€ã«ãæ§é äœä¿åã«äœ¿çš
- 3.5 fwriteãšfprintfã®éããçè§£ããã
- 3.6 ãã¡ã€ã«æžãèŸŒã¿æã®æ³šæç¹
- 3.7 å®çšäŸïŒã»ã³ãµãŒããŒã¿ãCSVãã¡ã€ã«ã«æžãåºã
- 4 4. ãã¡ã€ã«ããèªã¿èŸŒãæ¹æ³ïŒfscanfã»fgetsã»freadïŒ
- 4.1 èªã¿èŸŒã¿ã¯ãç®çã«åã£ãæ¹æ³ãã§éžã¶ã®ãã³ã
- 4.2 fscanf颿°ïŒæžåŒãæå®ããŠæ°å€ãæååãèªã¿åã
- 4.3 fgets颿°ïŒ1è¡ããšã®èªã¿åãã«æé©
- 4.4 fread颿°ïŒãã€ããªããŒã¿ãæ§é äœã®äžæ¬èªã¿åã
- 4.5 èªã¿åãåŠçæã®ããããæ³šæç¹
- 4.6 å®çšäŸïŒCSVãã¡ã€ã«ã®1è¡ãã€èªã¿èŸŒã¿ãšè§£æ
- 4.7 ãŸãšãïŒfscanfã»fgetsã»freadãç®çã«å¿ããŠäœ¿ãåããã
- 5 5. ãã¡ã€ã«æäœæã®ãšã©ãŒåŠçãšãããã°
- 5.1 ãªããšã©ãŒãã³ããªã³ã°ãéèŠãªã®ãïŒ
- 5.2 fopenã倱æãããšãã¯NULLãè¿ã
- 5.3 perror颿°ïŒçŽæçãªãšã©ãŒã¡ãã»ãŒãžè¡šç€º
- 5.4 strerror颿°ïŒãšã©ãŒã¡ãã»ãŒãžãæååãšããŠååŸ
- 5.5 ferror颿°ïŒå ¥åºåã¹ããªãŒã ã«ãšã©ãŒãèµ·ããã調ã¹ã
- 5.6 feof颿°ïŒãã¡ã€ã«ã®çµç«¯ã«éãããã確èª
- 5.7 ãããããã¡ã€ã«æäœãšã©ãŒãšãã®åå
- 5.8 ãŸãšãïŒå®å šãªãã¡ã€ã«æäœã«ã¯å å®ãªãã§ãã¯ãäžå¯æ¬
- 6 6. å®è·µäŸïœCèšèªã®ãã¡ã€ã«æäœã䜿ã£ãããã°ã©ã
- 6.1 çè«ã ãã§ãªããå®éã®äœ¿ãæ¹ã§çè§£ãæ·±ããã
- 6.2 ãã°ãã¡ã€ã«ãžã®åºåïŒã¢ããªã±ãŒã·ã§ã³ã®åäœèšé²ã«
- 6.3 CSVãã¡ã€ã«ãžã®ããŒã¿æžã蟌ã¿ïŒè¡šåœ¢åŒã§ã®ããŒã¿ä¿å
- 6.4 èšå®ãã¡ã€ã«ïŒ.confïŒãèªã¿èŸŒãïŒæè»ãªèšå®ç®¡çã«
- 6.5 è€æ°ããŒã¿ã®æ§é äœããã€ããªä¿åããäŸ
- 6.6 ãŸãšãïŒãã¡ã€ã«æäœã¯ããããå Žé¢ã§äœ¿ããæŠåš
- 7 7. Cèšèªãã¡ã€ã«æäœã«é¢ãããããã質åïŒFAQïŒ
- 7.1 åå¿è ãã€ãŸããããããã€ã³ããäžæè§£æ±ºïŒ
- 7.2 Q1. fopenã§ãã¡ã€ã«ãéããªãã®ã¯ãªãïŒ
- 7.3 Q2. æžã蟌ãã å 容ããã¡ã€ã«ã«åæ ãããªãã®ã¯ãªãïŒ
- 7.4 Q3. ãã€ããªãã¡ã€ã«ãšããã¹ããã¡ã€ã«ã®éãã¯ïŒ
- 7.5 Q4. ãã¡ã€ã«ã®éäžã§èªã¿èŸŒã¿ãæ¢ãŸãã®ã¯ãªãïŒ
- 7.6 Q5. æåã³ãŒãã®éãã§æååããèµ·ããããšãããïŒ
- 7.7 Q6. fopenã§åããã¡ã€ã«ãè€æ°éããŠã倧äžå€«ïŒ
- 7.8 Q7. ãšã©ãŒãæšæºåºåã§ã¯ãªããã°ãã¡ã€ã«ã«æžãããå Žåã¯ïŒ
- 7.9 FAQã§ã€ãŸãããè§£æ¶ããåŠã³ãå®çãããã
- 8 8. ãŸãšãïœCèšèªã®ãã¡ã€ã«å ¥åºåãç¿åŸããŠããã°ã©ã ã®å¹ ãåºããã
1. Cèšèªã«ããããã¡ã€ã«æäœã®åºæ¬ãšã¯ïŒ
ãã¡ã€ã«æäœã¯ããã°ã©ã ã®ãå€éšãšã®å¯Ÿè©±ææ®µã
Cèšèªã¯ãã·ã¹ãã å¯ãã®äœã¬ãã«ãªèšèªã§ããäžæ¹ãå®çšçãªãã¡ã€ã«å ¥åºåæ©èœãæšæºã©ã€ãã©ãªãšããŠåããŠããŸãããã¡ã€ã«æäœãšã¯ãããã°ã©ã ãã³ã³ãã¥ãŒã¿å ã®ãã¡ã€ã«ïŒããã¹ããã¡ã€ã«ããã€ããªãã¡ã€ã«ïŒãèªã¿æžãããåŠçã®ããšã§ã以äžã®ãããªå Žé¢ã§å¿ èŠã«ãªããŸãã
- ããŒã¿ã®æ°žç¶åïŒããã°ã©ã çµäºåŸãããŒã¿ãä¿åïŒ
- ãã°ã®èšé²ïŒå®è¡å 容ããšã©ãŒã远跡ïŒ
- å€éšãã¡ã€ã«ããã®èšå®èªã¿èŸŒã¿ïŒæè»ãªèšå®å€æŽãå¯èœïŒ
ãã®ããã«ããã¡ã€ã«æäœã¯å®çšçãªCèšèªããã°ã©ã ã«æ¬ ãããªãæè¡ã®ã²ãšã€ã§ãã
ããã¹ããã¡ã€ã«ãšãã€ããªãã¡ã€ã«ã®éã
Cèšèªã§ã¯ããã¡ã€ã«ã®çš®é¡ãšããŠäž»ã«ä»¥äžã®2ã€ãæ±ããŸãã
- ããã¹ããã¡ã€ã«ïŒ.txtãªã©ïŒ
ã人éãèªããæåæ å ±ã§æ§æããããã¡ã€ã«ãäž»ã«fprintf
ãfscanf
ãªã©ã§æäœããŸãã - ãã€ããªãã¡ã€ã«ïŒ.datã.binãªã©ïŒ
ãæåãšããŠã¯èªããªããæ©æ¢°åãã®æ å ±ããã®ãŸãŸæ ŒçŽãããã¡ã€ã«ãfwrite
ãfread
ã§æ±ããŸãã
åå¿è ã®ãã¡ã¯ããã¹ããã¡ã€ã«ãæ±ãã±ãŒã¹ãå€ãã§ãããç»åããŒã¿ãæ§é äœããŒã¿ãªã©ãæ±ãå Žé¢ã§ã¯ãã€ããªãã¡ã€ã«ã®ç¥èãéèŠã«ãªã£ãŠããŸãã
ãã¡ã€ã«æäœã®åºæ¬çãªæµã
Cèšèªã§ãã¡ã€ã«æäœãè¡ãéã¯ã以äžã®ãããªæµããåºæ¬ã«ãªããŸãã
- ãã¡ã€ã«ãéãïŒ
fopen
颿°ã䜿ã£ãŠãã¡ã€ã«ãéãããã¡ã€ã«ãã€ã³ã¿ãååŸããŸãã - ãã¡ã€ã«ã«å¯ŸããŠèªã¿æžãããïŒ
fprintf
ãfscanf
ãfread
ãfwrite
ãªã©ã®é¢æ°ã§ããŒã¿ãããåãããŸãã - ãã¡ã€ã«ãéããïŒ
fclose
颿°ã§ãã¡ã€ã«ãéãããªãœãŒã¹ãè§£æŸããŸãã
FILE *fp;
fp = fopen("sample.txt", "r");
if (fp != NULL) {
// èªã¿åãåŠçãªã©
fclose(fp);
}
ãã®ãããªæ§æãçè§£ããŠããã°ãã©ã®ãããªãã¡ã€ã«æäœã«ãå¿çšãå©ããŸãã
ãŸãšãïŒCèšèªã®ãã¡ã€ã«æäœãçè§£ããç¬¬äžæ©
Cèšèªã«ããããã¡ã€ã«æäœã¯ãåãªãå ¥åºååŠçã§ã¯ãªããçŸå®ã®ã¢ããªã±ãŒã·ã§ã³ãšã®æ©æž¡ã圹ã§ãããã¡ã€ã«ã®çš®é¡ãåºæ¬çãªåŠçã®æµããæŒãããããšã§ãåŸã«åŠã¶å¿çšãã¯ããã¯ïŒãã°åºåãCSVæäœãèšå®ãã¡ã€ã«ã®æŽ»çšïŒãçè§£ãããããªããŸãã
2. ãã¡ã€ã«ãéãã»éããæ¹æ³ïŒfopen / fcloseïŒ
ãã¡ã€ã«æäœã®åºçºç¹ã¯ãfopenããã
Cèšèªã§ãã¡ã€ã«ãæäœããéããŸãæåã«å¿
èŠã«ãªãã®ã fopen
颿°ã§ããããã¯ãç¹å®ã®ãã¡ã€ã«ãéãããã®ãã¡ã€ã«ãæäœããããã®ããã¡ã€ã«ãã€ã³ã¿ïŒFILEåïŒããè¿ã颿°ã§ãã
FILE *fp;
fp = fopen("example.txt", "r");
ãã®äŸã§ã¯ããexample.txtããšãããã¡ã€ã«ãèªã¿åãå°çšïŒr
ïŒã§éããŠããŸããæåãããš fp
ã«ãã¡ã€ã«ãã€ã³ã¿ã代å
¥ããã倱æããå Žåã«ã¯ NULL
ãè¿ãããŸãã
ã¢ãŒãæå®ïŒçšéã«å¿ããéãæ¹ãéžãŒã
fopen
ã«ã¯ç¬¬2åŒæ°ãšããŠãã¢ãŒãããæå®ããå¿
èŠããããŸããããã¯ãã¡ã€ã«ãã©ã®ããã«æ±ããã瀺ãæååã§ã以äžã®ãããªçš®é¡ããããŸãïŒ
ã¢ãŒã | 説æ |
---|---|
“r” | èªã¿åãå°çšã§éãïŒãã¡ã€ã«ãååšããªãå Žåã¯å€±æïŒ |
“w” | æžã蟌ã¿å°çšã§éãïŒãã¡ã€ã«ãååšããã°äžæžãããªããã°æ°èŠäœæïŒ |
“a” | 远èšå°çšã§éãïŒãã¡ã€ã«ããªããã°æ°èŠäœæïŒ |
“rb”/”wb”/”ab” | ãã€ããªã¢ãŒãã§éãïŒWindowsã§äž»ã«äœ¿çšïŒ |
“r+” | èªã¿æžãäž¡çšã§éãïŒäžæžãäžå¯ïŒ |
“w+” | èªã¿æžãäž¡çšã§éãïŒåžžã«äžæžãïŒ |
“a+” | èªã¿æžãäž¡çšã§éãïŒè¿œèšã®ã¿å¯ïŒ |
fopenã®æ»ãå€ã¯å¿ ããã§ãã¯ããã
ãã¡ã€ã«ãéãåŠçã§ã¯ãfopen
ã®æ»ãå€ã NULL
ã§ãªããã確èªããããšãåºæ¬ã§ãã倱æããåå ã¯ããŸããŸã§ã代衚çãªãã®ã«ã¯ä»¥äžããããŸãïŒ
- ãã¡ã€ã«ãååšããªãïŒç¹ã« “r” ã¢ãŒãïŒ
- ãã¡ã€ã«ãžã®ã¢ã¯ã»ã¹æš©ããªã
- ãã¡ã€ã«åã®ãã¹ãééã£ãŠãã
FILE *fp = fopen("data.txt", "r");
if (fp == NULL) {
perror("ãã¡ã€ã«ãéããŸããã§ãã");
return 1;
}
åŠçãçµãã£ãããfcloseãã§å¿ ãéãã
ãã¡ã€ã«ãæäœããåŸã¯ãfclose
颿°ã䜿ã£ãŠéãããã¡ã€ã«ãéããå¿
èŠããããŸãããã¡ã€ã«ãéããªããšãã¡ã¢ãªãªãŒã¯ããã¡ã€ã«ç Žæã®åå ã«ãªããŸãã
fclose(fp);
ããã¯ããªãœãŒã¹ã®è§£æŸãã®æå³ããããç¹ã«è€æ°ã®ãã¡ã€ã«ãéãåŠçãããå Žåã«ã¯éåžžã«éèŠã§ãã
fopenã»fcloseã®ãŸãšããšãã¹ããã©ã¯ãã£ã¹
- fopenã¯NULLãã§ãã¯ãå¿ããã«
ãã¡ã€ã«ãéããªãå Žåã®å¯ŸçãšããŠperror
ã䜿ããšåå ããããããããªããŸãã - fcloseã¯ããã¡ã€ã«ãéãããéãããã®ååã§
䜿ãçµãã£ããã¡ã€ã«ã¯å¿ããã«éããããã«ããŸããããreturn
ãexit
ã®åã«ãå¿ããã«ã
å®è·µçãªäŸïŒãã°ãã¡ã€ã«ã远èšã¢ãŒãã§éã
FILE *log_fp = fopen("log.txt", "a");
if (log_fp == NULL) {
perror("ãã°ãã¡ã€ã«ãéããŸããã§ãã");
return 1;
}
fprintf(log_fp, "ããã°ã©ã ãéå§ãããŸãã\n");
fclose(log_fp);
ãã®ããã«ãa
ã¢ãŒãã§éãã°ãã°ã®è¿œèšãç°¡åã«è¡ããŸããæ¯åäžæžããããã«æ°ããèšé²ã远å ãããŠããããããã°çšéã«æé©ã§ãã
3. ãã¡ã€ã«ãžæžãèŸŒãæ¹æ³ïŒfprintfã»fputsã»fwriteïŒ
Cèšèªã§ã®ãã¡ã€ã«æžã蟌ã¿ã¯ããã©ãŒãããããšããã€ããªãã«åããã
Cèšèªã§ãã¡ã€ã«ãžããŒã¿ãæžã蟌ãã«ã¯ãç®çã«å¿ããŠ3ã€ã®é¢æ°ã䜿ãåããŸãã
fprintf
ïŒãã©ãŒãããæå®ã«ããããã¹ãåºåïŒprintfãšäŒŒãæ§æïŒfputs
ïŒæååããã®ãŸãŸããã¹ãåºåfwrite
ïŒæ§é äœããã€ããªããŒã¿ã®æžãåºãã«äœ¿ã
ããããã®ç¹æ§ãçè§£ããé©åã«äœ¿ãåããããšã§ãããŒã¿ã®ä¿ååŠçãå¹ççã«å®è£ ã§ããŸãã
fprintf颿°ïŒprintfæèŠã§æžãããã¡ã€ã«åºå
FILE *fp = fopen("output.txt", "w");
if (fp != NULL) {
fprintf(fp, "åå: %s\n", "äœè€");
fprintf(fp, "幎霢: %d\n", 28);
fclose(fp);
}
åºåçµæïŒ
åå: äœè€
幎霢: 28
fputs颿°ïŒ1è¡ããšã®ããã¹ãåºåã«äŸ¿å©
FILE *fp = fopen("log.txt", "a");
if (fp != NULL) {
fputs("ã¢ããªã±ãŒã·ã§ã³ãéå§ããŸãã\n", fp);
fputs("ãŠãŒã¶ãŒããã°ã€ã³ããŸãã\n", fp);
fclose(fp);
}
fwrite颿°ïŒãã€ããªãã¡ã€ã«ãæ§é äœä¿åã«äœ¿çš
struct User {
int id;
char name[20];
};
struct User user = {101, "Yamada"};
FILE *fp = fopen("user.dat", "wb");
if (fp != NULL) {
fwrite(&user, sizeof(struct User), 1, fp);
fclose(fp);
}
fwriteãšfprintfã®éããçè§£ããã
ç¹åŸŽ | fprintf / fputs | fwrite |
---|---|---|
åœ¢åŒ | ããã¹ã | ãã€ã㪠|
人éãèªããã | â | ÃïŒåºæ¬èªããªãïŒ |
æ§é äœåºå | äžåã | åŸæ |
æ¹è¡åŠç | æç€ºçã«å¿ èŠ | äžèŠïŒãã€ããªã®ããïŒ |
ãã¡ã€ã«æžãèŸŒã¿æã®æ³šæç¹
- æžã蟌ã¿åŸã¯å¿
ã
fclose
ã§ãã¡ã€ã«ãéãã - 峿ã«ãã¡ã€ã«ã«åæ ããããå Žåã¯
fflush(fp);
ã䜿çšãã - æžã蟌ã¿ã倱æããå Žåã®ãšã©ãŒåŠçã
perror
ãferror
ã§è£è¶³ã§ãã
å®çšäŸïŒã»ã³ãµãŒããŒã¿ãCSVãã¡ã€ã«ã«æžãåºã
FILE *fp = fopen("sensor.csv", "w");
if (fp != NULL) {
fprintf(fp, "枩床,湿床\n");
fprintf(fp, "%.1f,%.1f\n", 24.3, 60.2);
fprintf(fp, "%.1f,%.1f\n", 25.1, 58.7);
fclose(fp);
}
ã

4. ãã¡ã€ã«ããèªã¿èŸŒãæ¹æ³ïŒfscanfã»fgetsã»freadïŒ
èªã¿èŸŒã¿ã¯ãç®çã«åã£ãæ¹æ³ãã§éžã¶ã®ãã³ã
Cèšèªã§ãã¡ã€ã«ããããŒã¿ãèªã¿åãå Žåããæžã蟌ã¿ãšåæ§ã«ããã¹ã圢åŒããã€ããªåœ¢åŒãã§äœ¿ã颿°ãå€ãããŸãã
fscanf
ïŒããã¹ããã¡ã€ã«ããæžåŒä»ãã§èªã¿åãfgets
ïŒ1è¡ãã€æååãšããŠèªã¿åãfread
ïŒãã€ããªãã¡ã€ã«ããããŒã¿ãèªã¿èŸŒã¿
fscanf颿°ïŒæžåŒãæå®ããŠæ°å€ãæååãèªã¿åã
FILE *fp = fopen("data.txt", "r");
if (fp != NULL) {
char name[50];
int age;
fscanf(fp, "%s %d", name, &age);
printf("åå: %s, 幎霢: %d\n", name, age);
fclose(fp);
}
fgets颿°ïŒ1è¡ããšã®èªã¿åãã«æé©
char buffer[256];
FILE *fp = fopen("log.txt", "r");
if (fp != NULL) {
while (fgets(buffer, sizeof(buffer), fp) != NULL) {
printf("%s", buffer);
}
fclose(fp);
}
fread颿°ïŒãã€ããªããŒã¿ãæ§é äœã®äžæ¬èªã¿åã
struct User {
int id;
char name[20];
};
struct User user;
FILE *fp = fopen("user.dat", "rb");
if (fp != NULL) {
fread(&user, sizeof(struct User), 1, fp);
printf("ID: %d, åå: %s\n", user.id, user.name);
fclose(fp);
}
èªã¿åãåŠçæã®ããããæ³šæç¹
- ãã¡ã€ã«æ«å°Ÿã®æ€åºã¯
feof()
ãŸãã¯fgets/fscanf
ã®æ»ãå€ã§ç¢ºèª - æ¹è¡ã空çœã®åŠçããã£ããè¡ããªããšãããŒã¿ãããã
- ãšã©ãŒæã®å¯ŸåŠãšããŠã
ferror()
ãperror()
ã®äœ¿çšãæ€èšãã
å®çšäŸïŒCSVãã¡ã€ã«ã®1è¡ãã€èªã¿èŸŒã¿ãšè§£æ
char line[100];
FILE *fp = fopen("sensor.csv", "r");
if (fp != NULL) {
while (fgets(line, sizeof(line), fp)) {
char temp[10], humid[10];
sscanf(line, "%[^,],%s", temp, humid);
printf("枩床: %sâ æ¹¿åºŠ: %s%%\n", temp, humid);
}
fclose(fp);
}
ãŸãšãïŒfscanfã»fgetsã»freadãç®çã«å¿ããŠäœ¿ãåããã
颿°å | é©ããçšé | ãã©ãŒããã | ç¹åŸŽ |
---|---|---|---|
fscanf | æ°å€ã»æååã®èªã¿åã | åºå®ãããæžåŒãå¿ èŠ | ãã©ãŒãããã«ææ |
fgets | è¡åäœã®æååèªã¿åã | æžåŒèªç± | æ¹è¡ãå«ã |
fread | ãã€ããªããŒã¿ãæ§é äœ | 圢åŒãåããªã | æžãåºããšå¯Ÿã«ãªã |
5. ãã¡ã€ã«æäœæã®ãšã©ãŒåŠçãšãããã°
ãªããšã©ãŒãã³ããªã³ã°ãéèŠãªã®ãïŒ
Cèšèªã®ãã¡ã€ã«æäœã§ã¯ã倱æããå¯èœæ§ãããåŠçãéåžžã«å€ãã®ãç¹åŸŽã§ããããšãã°ä»¥äžã®ãããªç¶æ³ãèããããŸãïŒ
- ãã¡ã€ã«ãååšããªã
- èªã¿åãæš©éããªã
- ãã£ã¹ã¯å®¹éäžè¶³ã§æžã蟌ã¿å€±æ
- æžåŒãšã©ãŒã«ããèªã¿åããã¹
fopenã倱æãããšãã¯NULLãè¿ã
FILE *fp = fopen("data.txt", "r");
if (fp == NULL) {
perror("ãã¡ã€ã«ãéããŸããã§ãã");
return 1;
}
perror颿°ïŒçŽæçãªãšã©ãŒã¡ãã»ãŒãžè¡šç€º
perror("ãšã©ãŒçºç");
å®è¡çµæã®äŸïŒ
ãšã©ãŒçºç: No such file or directory
strerror颿°ïŒãšã©ãŒã¡ãã»ãŒãžãæååãšããŠååŸ
#include <string.h>
#include <errno.h>
fprintf(stderr, "ãšã©ãŒå
容: %s\n", strerror(errno));
ferror颿°ïŒå ¥åºåã¹ããªãŒã ã«ãšã©ãŒãèµ·ããã調ã¹ã
if (ferror(fp)) {
fprintf(stderr, "ãã¡ã€ã«æäœäžã«ãšã©ãŒãçºçããŸãã\n");
}
feof颿°ïŒãã¡ã€ã«ã®çµç«¯ã«éãããã確èª
while (!feof(fp)) {
fgets(buffer, sizeof(buffer), fp);
// ...
}
ããå®å šãªæ¹æ³ïŒ
while (fgets(buffer, sizeof(buffer), fp) != NULL) {
// èªã¿èŸŒã¿åŠç
}
ãããããã¡ã€ã«æäœãšã©ãŒãšãã®åå
çç¶ | äž»ãªåå | 察ç |
---|---|---|
fopen ã NULL ãè¿ã | ãã¡ã€ã«ãååšããªããæš©éäžè¶³ããã¹ééã | perror ã§è©³çްãç¢ºèª |
æžã蟌ãã ã®ã«åæ ãããªã | ãããã¡ãªã³ã°ã«ããæªæžã蟌㿠| fflush ãŸã㯠fclose ãäœ¿çš |
ããŒã¿ã厩ããŠãã | æžåŒã®äžäžèŽããã€ããªåœ¢åŒã®èªã¿æžããã¹ | æ§é äœãµã€ãºãé çªãç¢ºèª |
éäžã§èªã¿åããæ¢ãŸã | æ¹è¡ãEOFåŠçã®ãã¹ | fgets ãæ»ãå€ã§å¶åŸ¡ãã |
ãŸãšãïŒå®å šãªãã¡ã€ã«æäœã«ã¯å å®ãªãã§ãã¯ãäžå¯æ¬
fopen
ã®æ»ãå€ãã§ãã¯ïŒNULLå€å®ïŒperror
ãstrerror
ã«ããåå ã®æç€ºferror
ãšfeof
ã§ã®ç¶æ ãã§ãã¯
ããããçµã¿åãããŠãå®å šã§ä¿¡é Œæ§ã®é«ããã¡ã€ã«åŠçãå®è£ ããŸãããã
6. å®è·µäŸïœCèšèªã®ãã¡ã€ã«æäœã䜿ã£ãããã°ã©ã
çè«ã ãã§ãªããå®éã®äœ¿ãæ¹ã§çè§£ãæ·±ããã
ãããŸã§ã§ãCèšèªã«ãããã¡ã€ã«æäœã®åºæ¬ããå¿çšãã¯ããã¯ãŸã§è§£èª¬ããŠããŸããããã®ã»ã¯ã·ã§ã³ã§ã¯ãå®éã«åœ¹ç«ã€ãã¡ã€ã«æäœã®ãµã³ãã«ã³ãŒããéããŠãåŠãã ç¥èãã䜿ãã圢ãã«èœãšã蟌ãã§ãããŸãã
ãã°ãã¡ã€ã«ãžã®åºåïŒã¢ããªã±ãŒã·ã§ã³ã®åäœèšé²ã«
#include <stdio.h>
#include <time.h>
void write_log(const char *message) {
FILE *fp = fopen("app.log", "a");
if (fp != NULL) {
time_t now = time(NULL);
fprintf(fp, "[%s] %s\n", ctime(&now), message);
fclose(fp);
}
}
int main() {
write_log("ã¢ããªã±ãŒã·ã§ã³ãèµ·åããŸãã");
write_log("åŠçãæ£åžžã«å®äºããŸãã");
return 0;
}
CSVãã¡ã€ã«ãžã®ããŒã¿æžã蟌ã¿ïŒè¡šåœ¢åŒã§ã®ããŒã¿ä¿å
#include <stdio.h>
int main() {
FILE *fp = fopen("data.csv", "w");
if (fp != NULL) {
fprintf(fp, "ID,åå,ã¹ã³ã¢\n");
fprintf(fp, "1,ç°äž,88\n");
fprintf(fp, "2,å±±ç°,92\n");
fclose(fp);
}
return 0;
}
èšå®ãã¡ã€ã«ïŒ.confïŒãèªã¿èŸŒãïŒæè»ãªèšå®ç®¡çã«
config.conf:
username=guest
timeout=30
#include <stdio.h>
#include <string.h>
int main() {
FILE *fp = fopen("config.conf", "r");
char line[100];
if (fp != NULL) {
while (fgets(line, sizeof(line), fp)) {
char key[50], value[50];
if (sscanf(line, "%[^=]=%s", key, value) == 2) {
printf("èšå®é
ç®: %s, å€: %s\n", key, value);
}
}
fclose(fp);
}
return 0;
}
è€æ°ããŒã¿ã®æ§é äœããã€ããªä¿åããäŸ
#include <stdio.h>
struct User {
int id;
char name[20];
};
int main() {
struct User users[2] = {
{1, "Suzuki"},
{2, "Kato"}
};
FILE *fp = fopen("users.dat", "wb");
if (fp != NULL) {
fwrite(users, sizeof(struct User), 2, fp);
fclose(fp);
}
return 0;
}
ãŸãšãïŒãã¡ã€ã«æäœã¯ããããå Žé¢ã§äœ¿ããæŠåš
- ãã°ïŒåäœç¢ºèªããšã©ãŒãã¬ãŒã¹ã«
- CSVïŒå€éšããŒã«ãšã®ããŒã¿é£æºã«
- èšå®ãã¡ã€ã«ïŒãŠãŒã¶ãŒã«ããå€éšæäœã«
- ãã€ããªä¿åïŒé«éã»ç容éãªããŒã¿åŠçã«
7. Cèšèªãã¡ã€ã«æäœã«é¢ãããããã質åïŒFAQïŒ
åå¿è ãã€ãŸããããããã€ã³ããäžæè§£æ±ºïŒ
ããã§ã¯ãããããçåãå®åã§ééããã¡ãªãã©ãã«ã«ã€ããŠãQ&A圢åŒã§ãŸãšããŸããã
Q1. fopenã§ãã¡ã€ã«ãéããªãã®ã¯ãªãïŒ
A1. 以äžã®åå ãèããããŸãïŒ
- ãã¡ã€ã«ãååšããªã
- ãã¹ãééã£ãŠãã
- ã¢ã¯ã»ã¹æš©éããªã
- ãã¡ã€ã«ãããã¯ãããŠãã
å¯ŸåŠæ³ïŒ
FILE *fp = fopen("data.txt", "r");
if (fp == NULL) {
perror("ãã¡ã€ã«ãéããŸããã§ãã");
}
Q2. æžã蟌ãã å 容ããã¡ã€ã«ã«åæ ãããªãã®ã¯ãªãïŒ
A2. ãããã¡ãªã³ã°ã«ãã£ãŠå³åº§ã«æžã蟌ãŸããŠããªãå¯èœæ§ããããŸãã
å¯ŸåŠæ³ïŒ
fprintf(fp, "ãã¹ãããŒã¿\n");
fflush(fp); // ãŸã㯠fclose(fp);
Q3. ãã€ããªãã¡ã€ã«ãšããã¹ããã¡ã€ã«ã®éãã¯ïŒ
é ç® | ããã¹ããã¡ã€ã« | ãã€ããªãã¡ã€ã« |
---|---|---|
å 容 | èªããæåå | èªããªãããŒã¿ |
ãµã€ãº | 倧ããããšããã | å°ããé«é |
å©çšé¢æ° | fprintf, fputs | fwrite |
Q4. ãã¡ã€ã«ã®éäžã§èªã¿èŸŒã¿ãæ¢ãŸãã®ã¯ãªãïŒ
A4. EOFåŠçã®æ¹æ³ãèªã¿åãæ¡ä»¶ã«åé¡ãããå ŽåããããŸãã
å®å šãªæ¹æ³ïŒ
while (fgets(buffer, sizeof(buffer), fp) != NULL) {
// åŠç
}
Q5. æåã³ãŒãã®éãã§æååããèµ·ããããšãããïŒ
A5. ã¯ããShift_JISãšUTF-8ã®éããªã©ã«ãããç°ãªãOSéã§æååããçºçããããšããããŸãã
察çïŒ
- ãšãã£ã¿ãã³ã³ãã€ã«ãªãã·ã§ã³ã§æç€ºçã«æåã³ãŒããçµ±äžãã
Q6. fopenã§åããã¡ã€ã«ãè€æ°éããŠã倧äžå€«ïŒ
A6. èªã¿åãå°çšã§ããã°å¯èœã§ãããæžã蟌ã¿ãå«ãå Žåã¯æ³šæãå¿ èŠã§ããããã¯æ©æ§ãªã©ã®æ€èšãå¿ èŠã§ãã
Q7. ãšã©ãŒãæšæºåºåã§ã¯ãªããã°ãã¡ã€ã«ã«æžãããå Žåã¯ïŒ
A7.
FILE *log = fopen("error.log", "a");
if (log != NULL) {
fprintf(log, "ãšã©ãŒãçºçããŸãã: %s\n", strerror(errno));
fclose(log);
}
FAQã§ã€ãŸãããè§£æ¶ããåŠã³ãå®çãããã
ããã§ç޹ä»ããFAQã¯ãåå¿è ããäžçŽè ã«ãããŠã®æ¹ãCèšèªã®ãã¡ã€ã«åŠçã§å®éã«ã€ãŸããããããã€ã³ããéãããã®ã§ãã
8. ãŸãšãïœCèšèªã®ãã¡ã€ã«å ¥åºåãç¿åŸããŠããã°ã©ã ã®å¹ ãåºããã
Cèšèªã§ã®ãã¡ã€ã«æäœãæ¯ãè¿ã
æ¬èšäºã§ã¯ãCèšèªã«ããããã¡ã€ã«æäœã«ã€ããŠãåºæ¬ããå¿çšãŸã§äœç³»çã«è§£èª¬ããŠããŸãããå ·äœçã«ã¯ä»¥äžã®ãããªå 容ãåŠã³ãŸããã
- ãã¡ã€ã«ã®çš®é¡ïŒããã¹ãïŒãã€ããªïŒãšç¹åŸŽ
- fopenã»fcloseã«ãããã¡ã€ã«ã®éé
- fprintfã»fputsã»fwriteã«ããæžãèŸŒã¿æ¹æ³
- fscanfã»fgetsã»freadã«ããèªã¿èŸŒã¿æ¹æ³
- ãšã©ãŒãã³ããªã³ã°ã®åºæ¬ãšãã©ãã«å¯ŸåŠ
- ãã°åºåãCSVä¿åãèšå®ãã¡ã€ã«èªã¿åããªã©ã®å®çšäŸ
- åå¿è ãã€ãŸããããããã€ã³ãããŸãšããFAQ
ãã¡ã€ã«æäœã¯çŸå®äžçãšã®æ¥ç¹
ãã¡ã€ã«å ¥åºåã¯ãåãªãããã°ã©ã å éšã®åŠçã ãã§ã¯ãªãããŠãŒã¶ãŒãä»ã®ã·ã¹ãã ãšã®ãæ¥ç¹ããšãªããŸãããã°èšé²ãèšå®ã®èªã¿èŸŒã¿ãããŒã¿ä¿åãªã©ãããŸããŸãªå®çšççšéã«ãããŠæ¬ ãããªãæ©èœã§ãã
ä»åŸã®åŠç¿ã¹ããããšããŠ
ãã®å 容ããã¹ã¿ãŒããæ¹ã¯ãããã«ä»¥äžã®ãããªçºå±çããŒãã«ææŠããã®ãããããã§ãã
- æ§é äœé åããªã¹ãæ§é ã®ãã¡ã€ã«ä¿å
- ããã¹ãåŠçã®é«éåïŒãããã¡ãµã€ãºã®æé©åãªã©ïŒ
- ãã¡ã€ã«ããã¯åŠçã»æä»å¶åŸ¡ã®å®è£
- å§çž®ãã¡ã€ã«ïŒgz, zipïŒãšã®é£æºïŒå€éšã©ã€ãã©ãªäœ¿çšïŒ
Cèšèªã®ãã¡ã€ã«æäœããã£ããç¿åŸããããšã§ãããªãã®ããã°ã©ã ã¯ãå®çšçãªã¢ããªã±ãŒã·ã§ã³ããžãšé²åããŠãããŸãããã²æ¬èšäºãåèã«ãç©æ¥µçã«å®è£ ã»æ€èšŒãè¡ã£ãŠã¿ãŠãã ããã