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

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

Войти
Регистрация
Восстановить пароль
 
Holsteng
47 / 10 / 3
Регистрация: 26.03.2012
Сообщений: 246
#1

Запись в текстовый файл адресов вместо строк - C++

08.08.2012, 22:26. Просмотров 581. Ответов 2
Метки нет (Все метки)

Всем привет.

Ребята, читаю из бинарного файла структуру и хочу все записать в текстовый файл.

Структура

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
struct Client
    {
            
        wchar_t strname[100];//ФИО клиента
        wchar_t straddress[50];// название улицы
        int numberinlist;//номер по списку клиента
        int inumberhome;// номер дома
        int numberappartment;// номер квартиры
        int numbercontract;// номер договора
        int ipaket;// номер пакета
        int iDebt;// денежный баланс клиента
        bool isnotconnect;//флаг для определения подключен ли клиент к сети
    };
Если вывожу в Edit все выводится корректно, а когда вывожу в текстовый файл, то вместо строк выводятся адреса. Подскажите, где возможно ошибка.
C++
1
2
wchar_t strname[100];//ФИО клиента
wchar_t straddress[50];// название улицы
Считывание из бинарного файла и запись в текстовый файл.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void CableTV::CatalogOfClient()
{
    ofstream outFileUser ( "Список всех клиентов.txt", ios::out );
    ifstream ClientFile ( "ListOfClients.dat", ios::binary|ios::in);
    ClientFile.seekg( 0 );
    Client client;
    ClientFile.read( reinterpret_cast< char *>( &client ),sizeof( Client ) );
    while ( !ClientFile.eof() )
    {
        if ( client.numberinlist!=0 )
        {
            outFileUser << setw(18) << client.numberinlist << setw(20) << client.strname 
                << setw(12) << client.straddress << setw(14) << client.inumberhome <<
                setw(14) << client.numberappartment << setw(14) << lient.numbercontract<<
                setw(14) << client.ipaket <<setw(14) << client.iDebt<< endl;
        }
 
        ClientFile.read( reinterpret_cast<  char *>( &client ),sizeof( Client ) );
    }
    ShellExecute(0,_TEXT("open"),_TEXT("Список всех клиентов.txt"),0,0,SW_SHOWDEFAULT);
    
}
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.08.2012, 22:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запись в текстовый файл адресов вместо строк (C++):

Дано число k (< 10) и текстовый файл, содержащий более k строк. Создать новый текстовый файл, содержащий k последних строк исходного файла - C++
Дано число k (&lt; 10) и текстовый файл, содержащий более k строк. Создать новый текстовый файл, содержащий k последних строк исходного...

Запись в текстовый файл - C++
Создать текстовый файл и записать в него 6 строк. Записываемые строки вводятся с клавиатуры. Надо решить эту задачу в КЛАССАХ. ...

До запись в текстовый файл - C++
Программа работает, но с дефектом. Суть такова: программа должна дописывать в конец текстового файла данные о сканерах. Но он как бы...

Запись в текстовый файл - C++
Здраствуйте. Нашёл небольшой кусочек кода в интеренете, который записывает текст в текстовый файл. Он работает. Вот код: #include...

Текстовый файл состоит из нескольких строк. Записать во второй файл последние символы из каждой строки первого файла - C++
Текстовый файл состоит из нескольких строк. Записать во второй файл последние символы из каждой строки первого файла. === Помогите,...

Запись значений в текстовый файл - C++
Здравствуйте, у меня вот такой вопрос. Можно ли записать, например, значение какой-нибудь переменной в текстовый файл. И чтобы при...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MrCold
854 / 752 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
08.08.2012, 23:59 #2
В структуре "широкие строки "
C++
1
wchar_t strname[100];
Значит и работа с файлом - wifstream, wofstream
Holsteng
47 / 10 / 3
Регистрация: 26.03.2012
Сообщений: 246
09.08.2012, 16:01  [ТС] #3
Попробовал
C++
1
wofstream
, теперь выводит только
C++
1
 client.numberinlist
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
wofstream outFileUser ( "Список всех клиентов.txt", ios::out );
    ifstream ClientFile ( "ListOfClients.dat", ios::binary|ios::in);
    ClientFile.seekg( 0 );
    Client client;
    ClientFile.read( reinterpret_cast< char *>( &client ),sizeof( Client ) );
    while ( !ClientFile.eof() )
    {
        if ( client.numberinlist!=0 )
        {
            outFileUser << setw(18) << client.numberinlist << setw(20) << client.strname 
                << setw(12) << client.straddress << setw(14) << client.inumberhome <<
                setw(14) << client.numberappartment << setw(14) << lient.numbercontract<<
                setw(14) << client.ipaket <<setw(14) << client.iDebt<< endl;
        }
 
        ClientFile.read( reinterpret_cast<  char *>( &client ),sizeof( Client ) );
    }
    ShellExecute(0,_TEXT("open"),_TEXT("Список всех клиентов.txt"),0,0,SW_SHOWDEFAULT);
Добавлено через 15 часов 44 минуты
Всем спасибо! Решил проблему путем перевода Unicode в Ansi перед выводом в файл
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.08.2012, 16:01
Привет! Вот еще темы с ответами:

Запись в созданный текстовый файл - C++
Добрый вечер,создаю файл,туда нужно ввести данные с консоли слова пишит ,а знаки припинания там символы нет,где ошибка?{string s5,s6,s; ...

Чтение и запись из/в текстовый файл - C++
Здравствуйте, программисты! Помогите, пожалуйста, разобраться с чтением из файла. Есть код: #include &lt;cstdlib&gt; #include &lt;stdio.h&gt; ...

Запись матрицы в текстовый файл - C++
Нужна помощь! Программа должна создавать текстовый файл в который будет записана матрица. Все работает, но матрица записываеться в...

Запись данных в текстовый файл - C++
Подскажите пожалуйста как записать дынные в текстовый файл. Знаю как считывать из файла, а как записать нет. Подскажите пожалуйста!!! ...


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

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

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