私は次の行に沿っているCコードの一部を見ています
void printerror(char *message)
{
printf ("There was an error: '%s'\n", message);
switch (errno) {
... do stuff depending on errno
}
}
printfは、関数に入ってからに到達するまでの間にerrnoを変更する可能性があるため、これは問題になる可能性があると思いますswitch
。ただし、printfのマンページにはerrnoの設定については何も記載されていないので、設定されないと思いますか?どの関数がerrnoを使用するか使用しないかを保証する規格に何かありますか?