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

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

Восстановить пароль Регистрация
 
valik35
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 29
27.09.2013, 19:49     запись и чтение wchar_t строк #1
Всем добрый вечер.
есть wchar_t str[100], как её запихнуть в текстовый файл используя потоки, а потом считать?

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

Я так понимаю обычный fstream здесь не катит.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2013, 19:49     запись и чтение wchar_t строк
Посмотрите здесь:

C++ Запись и чтение из файла
C++ Чтение/запись
C++ Чтение и запись в файл
Чтение и запись C++
[Файлы] Запись-чтение-запись. Почему не прокатывает? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
27.09.2013, 19:58     запись и чтение wchar_t строк #2
http://www.cplusplus.com/reference/istream/wiostream/
valik35
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 29
27.09.2013, 20:05  [ТС]     запись и чтение wchar_t строк #3
Ок, с записью понятно, а как её достать из потока getline с ней не работает
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.09.2013, 20:12     запись и чтение wchar_t строк #4
Цитата Сообщение от valik35 Посмотреть сообщение
getline с ней не работает
getline() какой?
valik35
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 29
27.09.2013, 20:23  [ТС]     запись и чтение wchar_t строк #5
wchar_t str[100];
...

getline(wis,str);
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.09.2013, 20:29     запись и чтение wchar_t строк #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);
valik35
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 29
27.09.2013, 20:34  [ТС]     запись и чтение wchar_t строк #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 секунд
я пока еще не проверял как считывает, мне бы сохранить
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2013, 20:53     запись и чтение wchar_t строк
Еще ссылки по теме:

Cannot convert from 'wchar_t' to 'const wchar_t *' C++
C++ Работа с файлами. Запись и чтение строк
Чтение wchar_t C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.09.2013, 20:53     запись и чтение wchar_t строк #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;
    }
Yandex
Объявления
27.09.2013, 20:53     запись и чтение wchar_t строк
Ответ Создать тему
Опции темы

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