|
> returnで終わるところをexitで終わっても
> 問題はないってことでしょうか・・・・??
main()関数以外でそれを行なうと問題アリアリです。
以下のサンプルコードで、
1.存在するファイル名を指定した時
2.存在しないファイル名を指定した時
3.何も指定しなかった時
の動作を確認してみてください。
#include <stdio.h> /* printf, FILE, fopen, fclose */
#include <stdlib.h> /* exit */
void sub(const char *filename)
{
FILE *fp = NULL;
printf(" sub()を開始します。--->\n");
fp = fopen(filename, "r");
if( fp == NULL ){
printf(" %s ファイルが開けませんでした。\n", filename);
exit(1);
}
fclose(fp);
printf(" --->sub()を終了します。\n");
}
int main(int argc, char *argv[])
{
printf("main()を開始します。===>\n");
if( argc >= 2 ){
sub(argv[1]);
}else{
printf("\n # ファイル名を指定してください\n # %s ファイル名\n\n", argv[0]);
}
printf("===>main()を終了します。\n");
return 0;
}
|