Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Why so seriouS
44 / 44 / 1
Регистрация: 12.03.2013
Сообщений: 167
#1

Работа с fstream - C++

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

Допустим у нас есть такие данные в файле:
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2013, 20:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с fstream (C++):

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

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

Работа с fstream - C++
Здорова! Создал класс для записи и чтения файла через операцию , но почему то он работает не так как нужно. #include <iostream> ...

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

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

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

15
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
14.03.2013, 20:46 #2
Кто и для чего создавал это файл?
0
Why so seriouS
44 / 44 / 1
Регистрация: 12.03.2013
Сообщений: 167
14.03.2013, 20:55  [ТС] #3
Файл уже создан и открыт для чтения.
0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
14.03.2013, 20:57 #4
Откуда он взялся? Сами записывали в него данные?
0
Why so seriouS
44 / 44 / 1
Регистрация: 12.03.2013
Сообщений: 167
14.03.2013, 21:00  [ТС] #5
Файл создал я, и сам записал в него данные.

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

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

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

Добавлено через 46 секунд
Цитата Сообщение от alsav22 Посмотреть сообщение
Цель?
Чтобы из этого файла считывать данные в массив объектов.
0
alsav22
5428 / 4823 / 442
Регистрация: 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
Why so seriouS
44 / 44 / 1
Регистрация: 12.03.2013
Сообщений: 167
14.03.2013, 21:13  [ТС] #9
Наверное нужно будет, но мне дали конкретно входные данные.
0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
14.03.2013, 21:15 #10
Вот эта тарабарщина и есть конкретные входные данные?
100 - long: ilafj iwnvwj bve bvjere*/g*-er/hg h rh gnedrfgve
Или это уже вы придумали исходя из задания? Само задание можно узнать?
0
Why so seriouS
44 / 44 / 1
Регистрация: 12.03.2013
Сообщений: 167
14.03.2013, 21:19  [ТС] #11
Задача уже прозвучала, записать из файла в поля класса данные. Вот пример данных содержащихся в файле:
Работа с fstream
0
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 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
Why so seriouS
44 / 44 / 1
Регистрация: 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
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
14.03.2013, 22:03 #14
Первый раз он считает тире, нам оно не нужно, поэтому читаем во-второй раз, перезаписывая это тире.
1
alsav22
5428 / 4823 / 442
Регистрация: 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;
}
1
Миниатюры
Работа с fstream  
14.03.2013, 22:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2013, 22:07
Привет! Вот еще темы с ответами:

Работа с файлами fstream - C++
есть дат файл концу этого файла надо добавить целое число: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; #include...

Не перезаписывается файл. Работа с fstream - C++
Есть такой код std::fstream settingFile; Poco::Util::Application&amp; app = Poco::Util::Application::instance(); std::string...

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

fstream - C++
помогите, пожалуйста, чет я совсем запуталась((( /*Дан текстовый фал, содержащий целые числа, разделенные пробелами. Определить...


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

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

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