私はの一般的な使用法を知ってい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