_CrtSetReportFile
_CrtSetReportMode
öğesini belirttikten _CRTDBG_MODE_FILE
sonra, ileti metnini almak için dosya tutamacını belirtebilirsiniz. _CrtSetReportFile
, tarafından _CrtDbgReport
_CrtDbgReportW
metnin hedefini belirtmek için de kullanılır (yalnızca hata ayıklama sürümü).
Sözdizimi
_HFILE _CrtSetReportFile(
int reportType,
_HFILE reportFile
);
Parametreler
reportType
Rapor türü: _CRT_WARN
, _CRT_ERROR
ve _CRT_ASSERT
.
reportFile
için reportType
yeni rapor dosyası.
Dönüş değeri
Başarıyla tamamlandığında, _CrtSetReportFile
içinde reportType
belirtilen rapor türü için tanımlanan önceki rapor dosyasını döndürür. için reportType
geçersiz bir değer geçirilirse, bu işlev Parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisini çağırır. Yürütmenin devam etmesi için izin verilirse, errno
olarak ayarlanır EINVAL
ve işlevi döndürür _CRTDBG_HFILE_ERROR
. Daha fazla bilgi için bkz. errno
, _doserrno
, _sys_errlist
ve _sys_nerr
.
Açıklamalar
_CrtSetReportFile
tarafından oluşturulan _CrtDbgReport
belirli bir rapor türü için hedefi veya hedefleri tanımlamak için işleviyle birlikte _CrtSetReportMode
kullanılır. Belirli bir rapor türü için raporlama modunu atamak üzere aradığınızda_CrtSetReportMode
, hedef dosyayı veya akışı belirtmek için de arayın_CrtSetReportFile
._CRTDBG_MODE_FILE
Tanımlanmadığında _DEBUG
, çağrısı _CrtSetReportFile
ön işleme sırasında kaldırılır.
Aşağıdaki listede için reportFile
kullanılabilir seçenekler ve sonuçta elde edilen davranışı _CrtDbgReport
gösterilir. Bu seçenekler Crtdbg.h dosyasında bit bayrakları olarak tanımlanır.
dosya tutamacı
İletiler için hedef olacak dosya tanıtıcısı. Tanıtıcının geçerliliğini doğrulamaya çalışılır. Dosyanın tutamacını açmanız ve kapatmanız gerekir. Örneğin:
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
İletiyi öğesine
stderr
yazar ve bu ileti aşağıdaki gibi yeniden yönlendirilebilir: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
yeniden yönlendirebileceğiniz iletiyi
stdout
öğesine yazar._CRTDBG_REPORT_FILE
Geçerli rapor modunu döndürür.
Her rapor türü tarafından kullanılan rapor dosyasını ayrı ayrı denetleyebilirsiniz. Örneğin, kullanıcı tanımlı bir reportType
dosya tutamacı veya akışı aracılığıyla stderr
reportType
raporlardan birinin _CRT_ERROR
_CRT_ASSERT
üzerinden belirtilmesi mümkündür.
Gereksinimler
Yordam | Gerekli başlık | İsteğe bağlı üst bilgi |
---|---|---|
_CrtSetReportFile |
<crtdbg.h> | <errno.h> |
Konsol Evrensel Windows Platformu (UWP) uygulamalarında desteklenmez. C çalışma zamanı işlevlerinin UWP uygulamalarında kullanabilmesi için önce konsolu stdin
, , stdout
ve stderr
ile ilişkilendirilmiş standart akış tanıtıcılarının yeniden yönlendirilmesi gerekir. Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Kitaplıklar: Yalnızca CRT kitaplık özelliklerinin sürümlerinde hata ayıklama.