На славу потрудившись, я написал следующий код:
Код:
![Выделить весь код](images/misc/selectcode.png)
void ResetText() {
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
hFind = FindFirstFile( Path , &FindFileData );
puts("FindFileData.cFileName");
if( FindFileData.cFileName == NULL ) {
puts("Формат вызова:\n O <входной файл>");
exit(1);
}
else if( (f = fopen(FindFileData.cFileName, "r")) == NULL ){
ResetError = TRUE;
Message = "Входной файл не найден";
}
else {
ResetError = FALSE; Message = "Ok";
Pos = 0; Line = 1;
NextCh();
}
do {
if( hFind && !( FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) ) {
if( FindFileData.cFileName == NULL ) {
puts("Формат вызова:\n O <входной файл>");
exit(1);
}
else if( (f = fopen(FindFileData.cFileName, "r")) == NULL ){
ResetError = TRUE;
Message = "Входной файл не найден";
}
else {
ResetError = FALSE; Message = "Ok";
Pos = 0; Line = 1;
NextCh();
}
}
} while( FindNextFile( hFind, &FindFileData ) );
FindClose(hFind);
}
Невероятно, но он компилируется в MS Visual Studio 2008 как код на Си.
Теперь проблема: скармливаю я ему, значит, консольный ввод:
Код:
![Выделить весь код](images/misc/selectcode.png)
MyProgram.exe InputFile.txt
А он мне врёт:
Что я сделал не так?
PS> Как из WIN32_FIND_DATA конвертировать, скажем, в формат массива из символов?