Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
45 / 45 / 12
Регистрация: 12.03.2013
Сообщений: 167
1

Работа с fstream

14.03.2013, 20:18. Показов 976. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Допустим у нас есть такие данные в файле:
100 - long: ilafj iwnvwj bve bvjere*/g*-er/hg h rh gnedrfgve
и имеем простой класс
C++
1
2
3
4
5
6
7
class A
{
private:
  int a;
  char b[10];
  char c[300];
};
И как мне в переменную a записать 100
в переменную b записать long
в перемене c записать ilafj iwnvwj bve bvjere*/g*-er/hg h rh gnedrfgve
Как это реализовать????
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2013, 20:18
Ответы с готовыми решениями:

Работа с Fstream
Нужна программа которая выводит элементы записанные в файле в консоль. Прикол в том что нужно это...

Работа с fstream
Вопрос такой: какие методы есть в fstream (если конечно есть) для того, чтобы удалить файл? Мне...

Работа с fstream
Здорова! Создал класс для записи и чтения файла через операцию , но почему то он работает не...

Работа с файлами fstream
есть дат файл концу этого файла надо добавить целое число: #include "stdafx.h" #include...

15
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
14.03.2013, 20:46 2
Кто и для чего создавал это файл?
0
45 / 45 / 12
Регистрация: 12.03.2013
Сообщений: 167
14.03.2013, 20:55  [ТС] 3
Файл уже создан и открыт для чтения.
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
14.03.2013, 20:57 4
Откуда он взялся? Сами записывали в него данные?
0
45 / 45 / 12
Регистрация: 12.03.2013
Сообщений: 167
14.03.2013, 21:00  [ТС] 5
Файл создал я, и сам записал в него данные.

Добавлено через 1 минуту
Я - всмысле не программой, а просто человеком
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
14.03.2013, 21:04 6
Цитата Сообщение от Why so seriouS Посмотреть сообщение
Допустим у нас есть такие данные в файле:
От этого "допустим" очень многое зависит. Код делается под определённый формат записи данных в файле. Делается под определённую задачу. Поэтому не стоит выдумывать некий произвольный файл.

Добавлено через 1 минуту
Цитата Сообщение от Why so seriouS Посмотреть сообщение
Файл создал я, и сам записал в него данные.
Цель?

Добавлено через 2 минуты
Если хотите записывать в файл одно число и две строки, а потом читать их в объект своего класса, то записывайте так, чтобы потом можно было легко это сделать. Например, через пробел, или каждое поле в отдельной строке.
0
45 / 45 / 12
Регистрация: 12.03.2013
Сообщений: 167
14.03.2013, 21:05  [ТС] 7
Он делится на 3 части: первая это целое число, после него следует пробел тере и снова пробел (их считывать не нужно), затем какое-то слово без пробелов до двоеточия, после двоеточия следует пробел и потом какие-то символы пробиламы (их нужно считывать пока не будет признаки перехода на новую строку)

Добавлено через 46 секунд
Цитата Сообщение от alsav22 Посмотреть сообщение
Цель?
Чтобы из этого файла считывать данные в массив объектов.
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
14.03.2013, 21:11 8
Цитата Сообщение от Why so seriouS Посмотреть сообщение
Чтобы из этого файла считывать данные в массив объектов.
А если так записать в файл, то считывать уже нельзя, что-ли, будет?
100
long
ilafj iwnvwj bve bvjere*/g*-er/hg h rh gnedrfgve
0
45 / 45 / 12
Регистрация: 12.03.2013
Сообщений: 167
14.03.2013, 21:13  [ТС] 9
Наверное нужно будет, но мне дали конкретно входные данные.
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
14.03.2013, 21:15 10
Вот эта тарабарщина и есть конкретные входные данные?
100 - long: ilafj iwnvwj bve bvjere*/g*-er/hg h rh gnedrfgve
Или это уже вы придумали исходя из задания? Само задание можно узнать?
0
45 / 45 / 12
Регистрация: 12.03.2013
Сообщений: 167
14.03.2013, 21:19  [ТС] 11
Задача уже прозвучала, записать из файла в поля класса данные. Вот пример данных содержащихся в файле:
Работа с fstream
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
14.03.2013, 21:25 12
Протестите:
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
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <fstream>
#include <cstring>
class A
{
private:
          int a;
          char b[10];
          char c[300];
public:
           std::ifstream f;
          A()
          {
              a = 0;
              memset(b,0,10);
              memset(c,0,300);
              f.open("text.txt");
         }
         void getdata()
         {
                f>>a;
                        f>>b>>b;
                b[strlen(b)-1] = '\0';
                f.getline(c-1,300);  
         }
         void show()
         {
                std::cout<<a<<'\n'<<b<<'\n'<<c;  
         }
};
 
int main()
{
     A obj;
     obj.getdata();
     obj.show();
     return 0;
}
1
45 / 45 / 12
Регистрация: 12.03.2013
Сообщений: 167
14.03.2013, 21:31  [ТС] 13
Цитата Сообщение от BumerangSP Посмотреть сообщение
f>>b>>b;
* * * * * * * * b[strlen(b)-1] = '\0';
* * * * * * * * f.getline(c-1,300);
А что здесь происходит, зачем два раза считывать в b?
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
14.03.2013, 22:03 14
Первый раз он считает тире, нам оно не нужно, поэтому читаем во-второй раз, перезаписывая это тире.
1
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
14.03.2013, 22:07 15
В файле:
100 - kernel: aaaa aaaa aaaa aaaa aaaa
200 - crond: dddd dddd dddd dddd ddd
100 - kernel: aaaa aaaa aaaa aaaa aaaa
200 - crond: dddd dddd dddd dddd ddd
100 - kernel: aaaa aaaa aaaa aaaa aaaa
200 - crond: dddd dddd dddd dddd ddd

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include <string>
#include <fstream>
#include <cstdlib>
#include <Windows.h>
 
using namespace std;
 
class A
{
private:
  int a;
  string b;
  string c;
 
public :
    friend ifstream& operator>>(ifstream &in, A &obj)
    {
        in >> obj.a;
        in >> obj.b >> obj.b;
        obj.b.erase(obj.b.size() - 1, 1);
        in.get();
        getline(in, obj.c);
        return in;
    }
 
    void show()
    {
        cout << a << '\n' << b << '\n' << c << endl;
    }
};
 
int main()
{ 
    
    ifstream in("1.txt");
 
    while (true)
    {
        A a;
        in >> a;
        if (in.eof()) break;
        a.show();
    }
    
    system("pause");
    return 0;
}
Миниатюры
Работа с fstream  
1
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
14.03.2013, 22:47 16
#include <Windows.h> не нужен...
0
14.03.2013, 22:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.03.2013, 22:47
Помогаю со студенческими работами здесь

Работа с классом fstream.h
Всем добрый день. Возникла небольшая проблемка. Открываю файл с помощью класса fstream читаю...

Работа с библиотекой <fstream>
Задание: Задан массив в файле в котором указана размерность и сам массив 4 * 4, нужно считать эту...

fstream работа с файлами
Помогите написать прогу или хотя бы алгоритм размещения текста в несколько столбцов! У меня идей...

Работа с файлом типа fstream
Пишем несложный код: fstream file(&quot;Test.txt&quot;,ios_base::in|ios_base::app); int cnt = 0; while...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru