Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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_STDERRMenulis 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_STDOUTMenulis pesan ke
stdout, yang dapat Anda alihkan._CRTDBG_REPORT_FILEMengembalikan 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, stdoutdan 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.