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

Класс name, включающий в себя данные (имя, фамилия, отчество и номер работника). Зацикливание при чтении файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Может так случится, что процесс приема новых сообщений и их прорисовки превратится в бесконечный цикл? http://www.cyberforum.ru/cpp-beginners/thread1153641.html
Допустим у меня есть приложение, которое добавляет в себя поступающие сообщения. А эти сообщения сыпят постоянно. Может так случится,что процесс приема новых сообщений и их прорисовки превратится в бесконечный цикл? и все начнет тормозить? мышь начнет постепенно медленней реагировать, а потом все зависнет?
C++ Wchar_t подключаюсь к серверу. Присваиваю переменной типа string имя, const char* charName = _Name.c_str(); затем в цикле передаю серверу имя клиента, в цикле делаю следующее: Client.send_data(charName); cout<<*charName; выводит : 98Data send 32767Data send -268434792Data send http://www.cyberforum.ru/cpp-beginners/thread1153633.html
Неверная кодировка при считывании из файла C++
Проблема такая, при считывание из файла идет кракозябра, как это исправитьsetlocale(LC_ALL, "rus"); FILE *fp; if(!(fp = fopen("C:\\Users\\Maxim\\Documents\\Visual Studio 2008\\Projects\\datebasemax\\datebasemax\\maxim.txt","r"))==NULL) { cout<<"открыт"<<endl; } student maxim; int i =0; while(!feof(fp))
Составить программу, которая находит n-е число Фибоначчи. Использовать в задаче рекурсивную функцию C++
C++ Построить лес цифрового поиска по числам, хранящимся в текстовом файле http://www.cyberforum.ru/cpp-beginners/thread1153577.html
Построить лес цифрового поиска по числам, хранящимся в текстовом файле. Использовать реализацию леса в виде бинарного дерева. Проверить с помощью этого леса, есть ли среди указанных чисел число N, введенное с клавиатуры. всё что есть #pragma once class tree { struct data { int key; data*left;
C++ Тело POST запроса. Как самому узнать, что там должно быть? Всем здрасти! У меня следующая делема... Нагуглил POST запрос на авторизацию на одноклассниках. Тело POST запроса имеет следующий вид: std::string post_data; post_data+= "fr.posted=set"; post_data+= "&fr.needCaptcha="; post_data+= "&fr.login=" + escape(curl_handle, user_name); post_data+= "&fr.password=" + escape(curl_handle, password); подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.04.2014, 16:31     Класс name, включающий в себя данные (имя, фамилия, отчество и номер работника). Зацикливание при чтении файла
Для начала, сделайте перегрузку записи в файл вот так (в файле должны быть только данные, остальное добавляется при выводе):
C++
1
2
3
4
5
ofstream &operator<<(ofstream &fout, const name obj)
{
    fout << obj._name << endl  << obj.fam << endl <<  obj.surname << endl << obj.number<< endl;
    return fout;
}
Добавлено через 6 минут
Оператор чтения из файла (слова состоят из одного слова):
C++
1
2
3
4
5
6
7
8
ifstream &operator>>(ifstream &fin, name &obj)
{
     fin >> obj._name;
     fin >> obj.fam;
     fin >> obj.surname;
     fin >> obj.number;
     return fin;
}
Добавлено через 8 минут
Чтение с консоли и вывод на косоль:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
istream &operator>>(istream &in, name &obj)
{
      cout << "Имя: ";
      in >> obj._name;
      cout << "Фамилия: ";
      in >> obj.fam;
      cout << "Отчество: ";
      in >> obj.surname;
      cout << "Номер: ";
      in >> obj.number;
      cout << endl;
      return in;
}
 
ostream &operator<<(ostream &out, const name obj)
{
     out << "Имя: "      << obj._name   << endl;
     out << "Фамилия: "  << obj.fam     << endl;
     out << "Отчество: " << obj.surname << endl;
     out << "Номер: "    << obj.number  << endl;
     return out;
}
Добавлено через 2 минуты
Тогда, запись в файл (трёх объектов) и чтение из файла, с выводом на консоль, вот таким будет:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    ofstream fout("myfile.txt");
    name obj;
    for (int i = 0; i < 3; ++i)
    {
        cin >> obj;
        fout << obj;
    }
    fout.close();
    
    ifstream fin("myfile.txt");
    if (!fin)
        cout << "Error!" << endl;
    else
    {
        name obj;
        while(fin >> obj)
        {
           cout << obj << endl;
        }
        fin.close();
    }
 
Текущее время: 04:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru