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

Ввод/вывод в файл - C++

Восстановить пароль Регистрация
 
Dkan
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 31
22.11.2011, 11:03     Ввод/вывод в файл #1
Как переменные всех объектов вывести в файл? Создаю массив из 2 объектов, но записываются значения только последнего введенного. Значения n, s ввожу с клавиатуры.

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
class Class
{
private:
 int n;
 char[10] s;
public:
 C();
 void in();
 void out();
};
 
int main()
{
 Class c[2] ;
 for(int i=0; i<2; i++)
 {
    f[i].out() ;
 }
 
}
 
void out()
{
 ofstream out;
 out.open("1.txt");
 cin >> n;
 cin >> s;
 out << n << " " << s << endl ;
}

Можно ли записывать значение из файла в переменную типа string? Если можно, то с кодом пожалуйста, пробовал писать вместо char, не работает.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2011, 11:03     Ввод/вывод в файл
Посмотрите здесь:

Файл. Ввод/вывод. C++
C++ Ввод вывод в файл
C++ ввод и вывод в файл
Ввод и вывод в файл C++
Ввод\вывод в файл C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
22.11.2011, 11:53     Ввод/вывод в файл #2
Цитата Сообщение от Dkan
Можно ли записывать значение из файла в переменную типа string? Если можно, то с кодом пожалуйста
C++
1
2
3
4
    string s;
 
    if (in >> s)
        cout << s << endl;
Dkan
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 31
22.11.2011, 12:20  [ТС]     Ввод/вывод в файл #3
Еще вопрос: как из файла присвоить значения объектам?

C++
1
2
3
4
5
6
7
void in()
{
 ifstream in;
 in.open("1.txt");
 in >> s >> n;
 in.close() ;
}
Если из main обращаться к этой функции
C++
1
2
3
4
5
 
for(int i=0; i<2; i++)
 {
    f[i].in() ;
 }
То получается записывает только первому объекту и то 2 раза. Как написать чтобы двум объектам присвоились значения?
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
22.11.2011, 14:05     Ввод/вывод в файл #4
Цитата Сообщение от Dkan
То получается записывает только первому объекту и то 2 раза.
у каждого объекта свой набор переменных
дело в чтении файла
Dkan
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 31
22.11.2011, 15:03  [ТС]     Ввод/вывод в файл #5
Понятно что свои переменные. Как прочитать файл, чтобы объектам присвоить их переменные?
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
22.11.2011, 15:09     Ввод/вывод в файл #6
надо передавать открытый файл в функцию, тогда первая функция прочитает из него свою порцию, а вторая - свою
Dkan
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 31
22.11.2011, 15:30  [ТС]     Ввод/вывод в файл #7
Напиши, пожалуйста, пример!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2011, 16:14     Ввод/вывод в файл
Еще ссылки по теме:

Ввод и вывод в файл C++
Ввод и вывод в файл C++
C++ Файл ввод-вывод

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

Или воспользуйтесь поиском по форуму:
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
22.11.2011, 16:14     Ввод/вывод в файл #8
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
#include <iostream>
#include <string>
#include <fstream>
 
using namespace std;
 
class Class {
  private:
    int n;
    string s;
  public:
    void in();
    void out(ofstream &out);
};
 
int main()
{
    Class c[2];
    ofstream out("1.txt");
    
    for (int i = 0; i < 2; i++)
        c[i].in();
    for (int i = 0; i < 2; i++)
        c[i].out(out);
    out.close();
    return 0;
}
 
void Class::in()
{
    cin >> this->n >> this->s;
}
 
void Class::out(ofstream &out)
{
    out << n << " " << s << endl;
}
Код
[guest@localhost tests]$ .iso++ t.cpp -o t
[guest@localhost tests]$ ./t
1 abcd
2 defg
[guest@localhost tests]$ cat 1.txt
1 abcd
2 defg
[guest@localhost tests]$
Yandex
Объявления
22.11.2011, 16:14     Ввод/вывод в файл
Ответ Создать тему
Опции темы

Текущее время: 02:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru