Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Кучка (heap)
Показать сообщение отдельно

Аватара для ManHack

Старожил


Сообщения: 361
Благодарности: 6

Профиль | Отправить PM | Цитировать


На славу потрудившись, я написал следующий код:
Код: Выделить весь код
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 как код на Си.
Теперь проблема: скармливаю я ему, значит, консольный ввод:
Код: Выделить весь код
MyProgram.exe InputFile.txt
А он мне врёт:
Цитата:
Входной файл не найден
Что я сделал не так?

PS> Как из WIN32_FIND_DATA конвертировать, скажем, в формат массива из символов?

Отправлено: 22:59, 06-05-2010 | #9

Название темы: Кучка (heap)