Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
valik35
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 29
#1

запись и чтение wchar_t строк - C++

27.09.2013, 19:49. Просмотров 1076. Ответов 7
Метки нет (Все метки)

Всем добрый вечер.
есть wchar_t str[100], как её запихнуть в текстовый файл используя потоки, а потом считать?

и есть возможность запихнуть её в бинарник а потом считать?

Я так понимаю обычный fstream здесь не катит.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2013, 19:49
Я подобрал для вас темы с готовыми решениями и ответами на вопрос запись и чтение wchar_t строк (C++):

Чтение из файла и запись строк в массив - C++
Здравствуйте! Сейчас пишу свою реализацию алгоритма FIFS и возникла проблема с записью данных из файла в массив. Формат входных данных в...

Работа с файлами. Запись и чтение строк - C++
Добавляю строку в файл "text.txt" а потом пытаюсь получить количество строк в этом файле.. Проблема заключается в том что добавляю...

Чтение wchar_t - C++
читаю из файла строку wchar_t символов, почему читается какая то хрень?

Почему const wchar_t* воспринимается как wchar_t* ? - C++
Здравствуйте. Я написал вот так: const wchar_t* dir = directory.c_str(); StartModule(dir); и такая ошибка появляется : ...

Cannot convert from 'wchar_t' to 'const wchar_t *' - C++
такой код, порылся в инете не помогло. ломать голову надоело может кто подскажет, буду благодарен. wchar_t * english = L"abvgdee...

Wchar_t и unsigned wchar_t в windows - C++
Печально, но факт: wchar_t - 2 байта, unsigned wchar_t - 4 байта Вопрос1: используется ли unsigned wchar_t для хранения...

7
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
27.09.2013, 19:58 #2
http://www.cplusplus.com/reference/istream/wiostream/
0
valik35
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 29
27.09.2013, 20:05  [ТС] #3
Ок, с записью понятно, а как её достать из потока getline с ней не работает
0
alsav22
5437 / 4832 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.09.2013, 20:12 #4
Цитата Сообщение от valik35 Посмотреть сообщение
getline с ней не работает
getline() какой?
0
valik35
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 29
27.09.2013, 20:23  [ТС] #5
wchar_t str[100];
...

getline(wis,str);
0
alsav22
5437 / 4832 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.09.2013, 20:29 #6
Такой getline() для string, а где они у вас?

Добавлено через 2 минуты
C++
1
2
3
wifstream wis("file");
wchar_t str[100];
wis.getline(str, 100);
Добавлено через 1 минуту
Или так:
C++
1
2
3
wifstream wis("file");
wstring str;
getline(wis, str);
0
valik35
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 29
27.09.2013, 20:34  [ТС] #7
вообщем у меня не так, но я так понимаю первый способ это то что мне нужно

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
class User
{
    wchar_t login[100];
    wchar_t password[100];
    wchar_t first_name[50];
    wchar_t last_name[50];
    wchar_t sur_name[50];
    Type_of_user type;
public:
 
friend wostream& operator << (wostream &os, User &obj)
    {
                os<<obj.GetLogin()<<endl;
        os<<obj.GetPassword()<<endl;
        os<<obj.GetFirstName()<<endl;
        os<<obj.GetLastName()<<endl;
        os<<obj.GetSurName()<<endl;
        os<<obj.GetNameOfType()<<endl;
        return os;
    }
};
class Staff
{
    list <User> staff;
public:
        bool Save (HWND hWnd, string name="menu.dat")
    {
        wofstream file(name);
        if(!file)
        {
            MessageBox(hWnd, L"error menu open save file", L"ERROR", MB_ICONERROR);
            return false;
        }
        file<<this;
        return true;
    }
 
};
//сохраняет фигню
Добавлено через 27 секунд
я пока еще не проверял как считывает, мне бы сохранить
0
alsav22
5437 / 4832 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.09.2013, 20:53 #8
Вот это неправильно:
C++
1
file<<this;
У вас, для класса Staff, оператор записи не перегружен.

Добавлено через 11 минут
Как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 bool Save (HWND hWnd, string name = "menu.dat")
    {
        wofstream file(name);
        if(!file)
        {
            MessageBox(hWnd, L"error menu open save file", L"ERROR", MB_ICONERROR);
            return false;
        }
        
        list <User>::iterator it;
        for (it = staff.begin(); it != staff.end(); ++it)
            file << *it;
        
        return true;
    }
0
27.09.2013, 20:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2013, 20:53
Привет! Вот еще темы с ответами:

[Файлы] Запись-чтение-запись. Почему не прокатывает? - C++
Сначала записываю в файл &quot;а&quot; запись &quot;makulatura&quot;, потом читаю ее в строку h. Все ок. Но потом когда открываю файл &quot;a&quot; опять для записи с...

Error C2664: невозможно преобразовать из "wchar_t" в "const wchar_t *" - C++
Вот так работает: wchar_t buf; Edit_GetText(hE, buf, sizeof(buf)); if(buf) { wchar_t b; _itow_s(wcscspn(buf, &amp;buf), b, 10); ...

CP886 в Multibyte (wchar_t) и BYTE в Multibyte (wchar_t) - C++
Помогите разобраться с кодировками. Получаю из базы данных значения и при выводи их в EditControl все отлично, но если выводить данные в...

Чтение/запись - C++
какая буква в fopen, открывает файл на одновременное чтение/запись, причем если файл существует, то не стирает его


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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