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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Awful
12 / 12 / 0
Регистрация: 09.11.2009
Сообщений: 65
#1

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

17.09.2010, 20:54. Просмотров 548. Ответов 2
Метки нет (Все метки)

в общем я немного изменил функцию со справки под свои нужды(функция была аналогом 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++
При присваивании русского слова к переменной input типа string - ошибка Но стоит поменять на английское слово - получается все верно. ...

Преобразование кодировки - C++
Тема не создаётся Добавлено через 12 секунд Можно ли такое замутить чисто через STL без всяких сторонних утилит типа iconv ? P.S.:...

Перевод кодировки - C++
Всем привет! Такая задача Имеем html-код Знаем кодировку (charset) Если кодировка, отличная от UTF-8 - нужно выполнить...

Создание нормальной кодировки - C++
Сейчас изучаю тему строк и написал вот такую легкую программу #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; ...

Из кодировки * в UTF8 и обратно в * - C++
Добрый вечер. Звездочка(*) это кодировка, которая мне не известна. Суть вот в чем. Есть файл html, который был открыт через...

Изменение кодировки текста - C++
Программа на Borland C++ читает FB2 файл, получает из него имя автора, название, серию и т.п. как провести конвертацию из разных...

Смена кодировки текста! - C++
опять хелп!! std::string query = &quot;netsh interface ip set addres name=\&quot;&quot; + interface_name + &quot;\&quot; static 192.168.2.2...

Таблица кодировки символов - C++
Добрый день! Помогите пожалуйста написать программу, которая выводит на экран первую часть таблицы кодировки символов ( символы с кодами от...

Utf-8. И снова кодировки - C++
Доброго времени суток. Подскажите как конвертировать всё введённое с клавиатуры в utf-8. Т.е. консоль запускается в какой-то стране Мира,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
12 / 12 / 0
Регистрация: 09.11.2009
Сообщений: 65
18.09.2010, 18:34  [ТС]     Нет кодировки?! #3
спасибо, помогло)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru