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

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

Войти
Регистрация
Восстановить пароль
 
Dkan
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 31
#1

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

22.11.2011, 11:03. Просмотров 980. Ответов 7
Метки нет (Все метки)

Как переменные всех объектов вывести в файл? Создаю массив из 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, не работает.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2011, 11:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ввод/вывод в файл (C++):

Вывод суммы в файл (файловый ввод/вывод) - C++
Добрый день! Я пытался написать программу, которая должна вводить данные из файла №1, потом вычислять их сумму и полученное значение...

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

Файл ввод-вывод - C++
У меня есть задача в которой нужно: 1) Скопировать в файл F2 только те строки из F1, которые начинаются с символа заданного...

Ввод и вывод в файл - C++
В текстовом файле INPUT.TXT записаны целые числа через пробел, возможно, в несколько строк. За один просмотр файла сформировать список этих...

Ввод вывод в файл - C++
у меня задание Написать программу на языке C++, осуществляющую чтение из файла содержащего 10 целых чисел, кратных вашему номеру в журнале...

Файл. Ввод/вывод. - C++
нуждаюсь в вашей помощи. создать входной файл из нескольки строк символов. создать выходной файл в который записать 3 строчку с...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
accept
4822 / 3243 / 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;
1
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 раза. Как написать чтобы двум объектам присвоились значения?
0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
22.11.2011, 14:05 #4
Цитата Сообщение от Dkan
То получается записывает только первому объекту и то 2 раза.
у каждого объекта свой набор переменных
дело в чтении файла
0
Dkan
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 31
22.11.2011, 15:03  [ТС] #5
Понятно что свои переменные. Как прочитать файл, чтобы объектам присвоить их переменные?
0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
22.11.2011, 15:09 #6
надо передавать открытый файл в функцию, тогда первая функция прочитает из него свою порцию, а вторая - свою
0
Dkan
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 31
22.11.2011, 15:30  [ТС] #7
Напиши, пожалуйста, пример!
0
accept
4822 / 3243 / 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]$
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2011, 16:14
Привет! Вот еще темы с ответами:

Ввод и вывод в файл - C++
Дан текстовый файл INPUT.TXT. Проверить в тексте файла правильности расстановки открывающих и закрывающих скобок ‘(‘, ‘)’, ‘{‘, ‘}’, ‘’....

Ввод и вывод в файл - C++
Данные вводимые в 11-ой строке стираются в 13-ой? #include &quot;stdafx.h&quot; #include &lt;fstream&gt; #include &lt;iostream&gt; using namespace std; ...

Ввод\вывод в файл - C++
Здравствуйте! Подскажите пожалуйста, как ПРАВИЛЬНО организовать ввод и вывод в файл в С++.И ещё,подскажите как в файле при чтении или...

ввод и вывод в файл - C++
помогите исправить код, мне нужно чтобы с файла считывало три слова и выводило туда общую букву,напримервывести должно букву а только...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.11.2011, 16:14
Ответ Создать тему
Опции темы

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