私はの一般的な使用法を知っていperror()
ます。
しかし今は、その結果をコンソールではなくファイルにエクスポートしたいと思います。ちなみに、私はそれをandroidエミュレーターのadbシェルの下で実行します。
私はの一般的な使用法を知っていperror()
ます。
しかし今は、その結果をコンソールではなくファイルにエクスポートしたいと思います。ちなみに、私はそれをandroidエミュレーターのadbシェルの下で実行します。
strerror()
代わりに使用してください:
fprintf(logfile, "Something went wrong: %s\n", strerror(errno));
stderr
または、を使用してファイルにリダイレクトしてから、を使用して続行することもできdup2()
ますperror()
。
編集:私が最初にこれに答えたのは早く、私の脳はすべてのシリンダーで発火していませんでした。すべてを行うことができるように、sprintf()
後に続くを使用する必要はありません(@maverikに感謝します)。fputs()
fprintf()
全体stderr
をそのファイルにリダイレクトできます。これを行うUnixの方法は次のとおりです。
int fd = open("logfile", O_WRONLY); // 'fd' stands for 'file descriptor
close(2); // close stderr
dup(fd); // duplicate fd so that it's copy will be the lowest available value -- 2
stderrを選択したファイルに転送できると思います。例:$。/ program 2> errlog