Форум программистов, компьютерный форум CyberForum.ru

Нет кодировки?! - C++

Восстановить пароль Регистрация
 
Awful
 Аватар для Awful
12 / 12 / 0
Регистрация: 09.11.2009
Сообщений: 65
17.09.2010, 20:54     Нет кодировки?! #1
в общем я немного изменил функцию со справки под свои нужды(функция была аналогом dir'a)..
вот код:
Код
#include <windows.h>
#include <tchar.h> 
#include <stdio.h>
#include <strsafe.h>

#include <iostream>
#include <fstream>
#include "files.h"
using namespace std;
 
maps::maps()
{
 err=0;
}
maps::~maps()
{ err=0;}

void maps::Wlist()
{
   WIN32_FIND_DATA ffd;
   LARGE_INTEGER filesize;
   HANDLE hFind = INVALID_HANDLE_VALUE;
   DWORD dwError=0;
   FILE *f1;
   f1=fopen("maps.txt","wb");
   LPCTSTR gg =L"путь\\*";

   // Prepare string for use with FindFile functions.  First, copy the
   // string to a buffer, then append '\*' to the directory name.

   // Find the first file in the directory.

   hFind = FindFirstFile(gg, &ffd);

   if (INVALID_HANDLE_VALUE == hFind) 
   {
	   err=1 ;return;
   } 
   
   // List all the files in the directory with some info about them.

   do
   {
      
         filesize.LowPart = ffd.nFileSizeLow;
         filesize.HighPart = ffd.nFileSizeHigh;
		 _ftprintf(f1,TEXT(" %s "), ffd.cFileName);   
   }
   while (FindNextFile(hFind, &ffd) != 0);
   fclose(f1);
   dwError = GetLastError();
   if (dwError != ERROR_NO_MORE_FILES) 
   {
	   err=1; return;
   } 
   FindClose(hFind);
   err=0;
//   outfile.close();
}
в общем вроде-бы все работает так как нужно- выводит список файлов выбранного каталога в текстовый файл, но , когда я открываю с помощью notepad++ этот заполненный txt - блокнот вообще не может определить кодировку текста! ( хотя все отображается корректно) В результате этого, как я подозреваю, в дальнейшем происходит неверная обработка этого файла. (т.к. когда я выбираю в блокноте кодировку и пересохраняю - все ок, программа работает дальше верно). В общем помогите сделать так, чтобы эта функция сохраняла файл в кодировке ansi или utf8
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2010, 20:54     Нет кодировки?!
Посмотрите здесь:

C++ Кодировки в С++
C++ Перевод кодировки
C++ Кодировки
C++ Ошибка кодировки?
Ошибка с массивами, хотя формально её нет (похожи ли массивы или нет?) C++
C++ Кодировки, языки
C++ Преобразование кодировки
Кодировки (ошибки кодировки) в логировании C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alexzak
84 / 57 / 1
Регистрация: 07.08.2010
Сообщений: 185
18.09.2010, 06:05     Нет кодировки?! #2
Цитата Сообщение от Awful Посмотреть сообщение
f1=fopen("maps.txt","wb");
Ты открываешь файл в бинарном режиме. Попробуй в текстовом:
C++
1
f1=fopen("maps.txt","w");
Awful
 Аватар для Awful
12 / 12 / 0
Регистрация: 09.11.2009
Сообщений: 65
18.09.2010, 18:34  [ТС]     Нет кодировки?! #3
спасибо, помогло)
Yandex
Объявления
18.09.2010, 18:34     Нет кодировки?!
Ответ Создать тему
Опции темы

Текущее время: 19:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru