Макрос препроцессора __FILE__ в Visual C ++ 10 расширяется до имени исходного модуля, но в нижнем регистре, например,
__FILE__
c:\path\to\my\file\somesource.cpp
когда имя файла на самом деле
SomeSource.cpp
Можно ли изменить это поведение?
Как предложил Ханс Пассант, я задал вопрос по Microsoft Connect и получил следующий ответ:
Спасибо, что обратили внимание.Такое поведение существовало некоторое время, по крайней мере, до VS 2008. Изменение поведения по умолчанию потенциально может быть критическим изменением для других клиентов, поэтому мы предпочли бы сохранить текущее поведение.Поскольку FOO.TXT в основном совпадает с foo.txt для файловой системы, мы надеемся, что использование __FILE__ для любого сравнения может привести к сравнению без учета регистра для вашего приложения.