Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 6

Проблемка с записью в фаил

21.12.2011, 20:42. Показов 796. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пож. не могу понять в чем ошибка:
C++
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
void save()
{
    ofstream file("test.txt",ios::out);
    SendMessage(h_text,LB_ADDSTRING,0,LPARAM(hum.Surname));
    file <<hum.Surname<<hum.Name<<endl;
    
    file.close();
}
 
void read()
{
    SendMessage(h_text,LB_RESETCONTENT,0,0);
    
        char surname[30];
        char name[30];
        ifstream file("test.txt",ios::in);
        if(!file)
        {
            SendMessage(h_text,LB_ADDSTRING,0,LPARAM(TEXT("Пока нет записей")));
        }
        else
        {
            file >> surname >> name;
            SendMessage(h_text,LB_ADDSTRING,0,LPARAM(surname));
            SendMessage(h_text,LB_ADDSTRING,0,LPARAM(name));
        }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.12.2011, 20:42
Ответы с готовыми решениями:

Проблемка с записью в ячейку
Есть проблема Full = ActiveSheet.Cells(ActiveCell.Row, 36) Проходит все, значение видит все нормально - а Запись ...

Вирусы под гостевой записью и записью админа
Добрый день! у меня такой вопрос. Может ли вредоносная программа, поразившившая гостевую учетную запись затем работать под записью...

Определить, является ли заданная строка записью целого числа, записью вещественного числа, или строку нельзя преобразовать в число
Определить, является ли заданная строка записью целого числа, записью вещественного числа, или строку нельзя преобразовать в число.

6
16 / 9 / 0
Регистрация: 20.12.2011
Сообщений: 20
21.12.2011, 21:05
Напишите пож. текст выдаваемой ошибки и на какую строку ругается компилятор.
0
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 6
21.12.2011, 21:19  [ТС]
ошибок нет, просто при чтении этого файла в List Box выводятся иероглифы
0
16 / 9 / 0
Регистрация: 20.12.2011
Сообщений: 20
21.12.2011, 22:19
просто при чтении этого файла в List Box выводятся иероглифы
Скорее всего это происходит из-за неправильного считывания данных в след. строке:
file >> surname >> name;
Почему бы Вам не сделать так:
C++
1
2
3
4
5
6
7
8
9
10
  char * name;
  int length;
  ifstream file;
  file.open ("text.txt", ios::in);
  file.seekg (0, ios::end);
  length = file.tellg();
  file.seekg (0, ios::beg);
  name = new char [length];
  file.getline(name,length);// для чтения строки или file.read (name,length);- для чтения куска данных.
  file.close();
1
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 6
21.12.2011, 23:00  [ТС]
Спасибо, похоже это единственный нормальный способ

Добавлено через 9 минут
Как лучше всего перевести число из char в int?
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
22.12.2011, 01:44
C++
1
length = atoi (name);
1
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 6
23.12.2011, 22:17  [ТС]
не получается конвертить с char * в wchar_t
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
HANDLE hFile = CreateFile(str,GENERIC_READ| GENERIC_WRITE,0,NULL,OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,NULL);
        int size = GetFileSize(hFile,0);
        CloseHandle(hFile);
 
        ifstream file;
        file.open (str, ios::in);
        file.seekg (0, ios::end);
        size = file.tellg();
        file.seekg (0, ios::beg);
        MessageBox(hWnd, str, TEXT("Диалог \"Открыть\""), MB_OK |MB_ICONINFORMATION);
        TCHAR *buf = new TCHAR[size/4];
        char * name = new char [size/4];
 
        file.read(name,size);
        file.close();
        size_t orgsize = size / 4;
        size_t i = 0;
        mbstowcs_s(&i,buf,orgsize,name,_TRUNCATE);
 
        SetWindowText(hEdit,LPCWSTR(buf));
Проблему с кодировками решил так:
C++
1
2
wcstombs(char * text, wchar_t * buf, length);//wchar_t * to char *
mbstowcs(wchar_t * buf, char * text, length);//char * to wchar_t *
С кодировками разобрался, но при чтении файла в конце добавляет иероглифы, при сохранении эту проблему устранил, но при чтении ничего не выходит:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ifstream file;
        file.open (FullPath, ios::in);
        file.seekg (0, ios::end);
        int length = file.tellg();
        file.seekg (0, ios::beg);
        
        TCHAR *buf = new TCHAR[length];
        char * name = new char [length];
 
        file.read(name,length);
        
        file.close();
        mbstowcs(buf,name,length);
 
        SetWindowText(hEdit,buf);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.12.2011, 22:17
Помогаю со студенческими работами здесь

Определить, является ли введенный текст записью целого числа или записью вещественного числа
Определить является ли введенный текст записью целого числа или записью вещественного числа.

Определить является ли введенный текст записью целого числа или записью вещественного числа
Определить является ли введенный текст записью целого числа или записью вещественного числа. НА ПАСКАЛЬ

проблемка
Привет всем, желающим мне помоч. я програмирую в Visual Studio 2008 в среде VB. Проблемка заключается в том, что в подпрограмме ...

Проблемка
Всмысле сайт в индексе есть, но в выдаче по релевантным словам нет(совсем). Сайту где-то пол года. В других поисковиках в топе. Все...

Проблемка с g++
Вот недавно установил винду (раньше была линь), и хотел чтоб всё было привычно, установил g++ компилятор, всё ок, взял написал код самый...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru