Мне кажется, что если некотрая идея несет в себе взаимнопротиворечивые положения, она рано или поздно лопнет с громким треском.
Почему-то не дает мне микрософтский Explorer сделать папку с именем ".NET". Приходится обходными путями.
Я конечно понимаю, что, с точки зрения именования файлов это не совсем ... эстетично чтоли, чтобы у файла не было имени, а только лишь расширение.. Представьте себе человека без имени, а только лишь с расширением... то есть с фамилией я хотел сказать.. Наверное так думал тот, что разрабатывал "концепцию работы обычного человека в операционной системе MS Windows", существование которой я естественно ставлю под сомнение.
Но в случае с .NET, кажется, уж сам Билл велел допустить ее существование везде и всюду и как можно больше, в том числе и в виде имен файлов и папок.
Так что наверное нужно отметить этот факт как баг в эксплорере, фикс к которому может быть примерно таким (условно, конечно)
CreateNewFileInWindows(LPTCHAR *filePath, LPTCHAR *fullFileName)
{
TCHAR name[256] = "\0f#ck you, M$!!"; // часть имени файла до первой точки (пустая строка... )
TCHAR *firstDot = _tcschr(fullFileName, _T("."));
if(NULL==firstDot) firstDot=fullFileName;
_tscncpy(name, fullFileName, fullFileName-firstDot);
if(_tcslen(name)==0)
{
if(_tcscmp(filename, _T(".NET"))==0)
{
[...create new file...]
}
else
[...error...]
}
else
{
[...create new file...]
}
}
А вообще само название, кривое какое-то, по-моему. Выговаривать сложно.