_CrtSetReportFile
Setelah Anda menggunakan _CrtSetReportMode
untuk menentukan _CRTDBG_MODE_FILE
, Anda dapat menentukan handel file untuk menerima teks pesan. _CrtSetReportFile
juga digunakan oleh _CrtDbgReport
, _CrtDbgReportW
untuk menentukan tujuan teks (hanya versi debug).
Sintaks
_HFILE _CrtSetReportFile(
int reportType,
_HFILE reportFile
);
Parameter
reportType
Jenis laporan: _CRT_WARN
, _CRT_ERROR
, dan _CRT_ASSERT
.
reportFile
File laporan baru untuk reportType
.
Nilai hasil
Setelah berhasil diselesaikan, _CrtSetReportFile
mengembalikan file laporan sebelumnya yang ditentukan untuk jenis laporan yang ditentukan dalam reportType
. Jika nilai yang tidak valid diteruskan untuk reportType
, fungsi ini memanggil handler parameter yang tidak valid, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, errno
diatur ke EINVAL
, dan fungsi mengembalikan _CRTDBG_HFILE_ERROR
. Untuk informasi selengkapnya, lihat errno
, _doserrno
, _sys_errlist
, dan _sys_nerr
.
Keterangan
_CrtSetReportFile
digunakan dengan _CrtSetReportMode
fungsi untuk menentukan tujuan atau tujuan untuk jenis laporan tertentu yang dihasilkan oleh _CrtDbgReport
. Saat Anda memanggil _CrtSetReportMode
untuk menetapkan _CRTDBG_MODE_FILE
mode pelaporan untuk jenis laporan tertentu, panggil _CrtSetReportFile
juga untuk menentukan file atau aliran tujuan. Jika _DEBUG
tidak ditentukan, panggilan ke _CrtSetReportFile
akan dihapus selama praproscesing.
Daftar berikut menunjukkan pilihan yang tersedia untuk reportFile
dan perilaku yang dihasilkan dari _CrtDbgReport
. Opsi ini didefinisikan sebagai bendera bit di Crtdbg.h.
handel file
Handel ke file yang akan menjadi tujuan pesan. Tidak ada upaya yang dilakukan untuk memverifikasi validitas handel. Anda harus membuka dan menutup handel ke file. Contohnya:
HANDLE hLogFile; hLogFile = CreateFile("c:\\log.txt", GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE); _CrtSetReportFile(_CRT_WARN, hLogFile); _RPT0(_CRT_WARN,"file message\n"); CloseHandle(hLogFile);
_CRTDBG_FILE_STDERR
Menulis pesan ke
stderr
, yang dapat dialihkan sebagai berikut:freopen( "c:\\log2.txt", "w", stderr); _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE); _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR); _RPT0(_CRT_ERROR,"1st message\n");
_CRTDBG_FILE_STDOUT
Menulis pesan ke
stdout
, yang dapat Anda alihkan._CRTDBG_REPORT_FILE
Mengembalikan mode laporan saat ini.
Anda dapat mengontrol file laporan yang digunakan oleh setiap jenis laporan secara terpisah. Misalnya, dimungkinkan untuk menentukan bahwa laporan reportType
_CRT_ERROR
melalui stderr
, sementara reportType
laporan _CRT_ASSERT
melalui handel atau aliran file yang ditentukan pengguna.
Persyaratan
Rutin | Header yang diperlukan | Header opsional |
---|---|---|
_CrtSetReportFile |
<crtdbg.h> | <errno.h> |
Konsol tidak didukung di aplikasi Platform Windows Universal (UWP). Handel aliran standar yang terkait dengan konsol, , stdin
, stdout
dan stderr
, harus dialihkan sebelum fungsi run-time C dapat menggunakannya di aplikasi UWP. Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Pustaka: Hanya versi debug fitur pustaka CRT.
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk