perror関数は、システムコールやライブラリ関数で発生したエラーに関する説明メッセージを生成し、標準エラー出力に出力します。
#include <stdio.h>
void perror(const char *s);
sは生成したメッセージの前に付加する文字列を指定します。
戻り値はありません。
プログラム 例
#include <stdio.h>
#define SIZE 1024
int main(int argc, char **argv)
{
FILE *fp;
char buff[SIZE];
int return_code = 0;
if (argc == 2) {
if ((fp = fopen(*(argv + 1), 'r')) != NULL) {
while(fgets(buff, SIZE, fp) != NULL) {
printf('%s', buff);
}
fclose(fp);
}
else {
perror('main() ');
return_code = 1;
}
}
else {
fprintf(stderr, 'main() : 実行時引数の数が不当です\n');
return_code = 2;
}
return return_code;
}
例の実行結果
$ ./perror.exe temp1.txt Hello World!!. Bye. $ $ ./perror.exe temp9.txt main() : No such file or directory $