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

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

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

Как в файл записать несколько сточек? - C++

21.11.2012, 01:05. Просмотров 895. Ответов 20
Метки нет (Все метки)

Нужно написать программу которая будет записывать в файл ФИО и возраст студента (на каждую новую строчку новый студен). Помогите пожалуйста с кодом.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2012, 01:05     Как в файл записать несколько сточек?
Посмотрите здесь:
C++ Записать в файл несколько строк, а затем записать несколько строк из этого файла в другой
Как записать несколько массивов, каждый в свой файл? C++
C++ записать несколько элементов в вектор сразу, как в массиве
C++ Как записать команду в консоль windows несколько раз?
C++ как записать в переменную символьного типа (думерный массив) несколько строк, после инициализации этой переменной?
Как записать результат в файл C++
C++ Как записать картинку в файл
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
7182 / 4348 / 634
Регистрация: 29.11.2010
Сообщений: 11,839
21.11.2012, 02:57     Как в файл записать несколько сточек? #2
В классе:
C++
1
2
3
4
5
6
7
8
friend std::ostream& operator<< (std::ostream &output, const Student &s) // объявляем дружественную функцию
{
    output<< "Name: "<< s._name<< std::endl // формируем поток 
             << "Surname: "<< s._surname<< std::endl
             << "Patronymic: "<< s._patronymic<< std::endl
             << "Age: "<< s._age<< std::endl;
    return output; // возвращаем поток
}
CAJI0
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 13
21.11.2012, 16:07  [ТС]     Как в файл записать несколько сточек? #3
а как без класса?
мы еще не учили их(
MrGluck
Модератор
Эксперт CЭксперт С++
7182 / 4348 / 634
Регистрация: 29.11.2010
Сообщений: 11,839
21.11.2012, 19:08     Как в файл записать несколько сточек? #4
Цитата Сообщение от CAJI0 Посмотреть сообщение
а как без класса?
мы еще не учили их(
Самое время начать. Все-таки основы объекто-ориентированного программирования.
HidForce
56 / 56 / 13
Регистрация: 17.11.2012
Сообщений: 1,602
21.11.2012, 19:10     Как в файл записать несколько сточек? #5
CAJI0, вот простенький код. Здесь ввод выполняется только один раз. Если надо ввести группу студентов, то нужно добавить цикл.
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
#include <iostream>
#include <fstream>
#include <windows.h>
 
using namespace std;
 
char bufRus[256];
 
char* Rus(const char* text) {
      CharToOem(text, bufRus);
      return bufRus;
      }
 
int main()
{
    setlocale (LC_ALL, "RUSSIAN");
 
    ofstream fout("D:\\test.txt");
 
    char fio[21];
    int vozrast;
 
    cout << "Введите ФИО студента: " << endl;
    cin.getline (fio, 20);
    OemToCharA(fio,fio);
 
    cout << "Введите возраст студента: " << endl;
    cin >> vozrast;
 
    fout << "ФИО студента: " << fio << endl;
    fout << "Возраст студента: " << vozrast << endl;
 
 fout.close();
 
   return 0;
}
MrGluck
Модератор
Эксперт CЭксперт С++
7182 / 4348 / 634
Регистрация: 29.11.2010
Сообщений: 11,839
21.11.2012, 19:15     Как в файл записать несколько сточек? #6
C++
1
ofstream fout("D:\\test.txt");
ссылки на файл должны быть не абсолютными
И в C++ для винды реализована библиотека <clocale>, С-шные танцы вокруг CharToOem не нужны.
Да и объект надо формировать, а не распиливать имя, фамилию и возраст по составляющим, имеющим в качестве связывающего звена лишь индекс массивов.
HidForce
56 / 56 / 13
Регистрация: 17.11.2012
Сообщений: 1,602
21.11.2012, 19:32     Как в файл записать несколько сточек? #7
Цитата Сообщение от MrGluck Посмотреть сообщение
И в C++ для винды реализована библиотека <clocale>, С-шные танцы вокруг CharToOem не нужны.
И как же мне с помощью <clocale> реализовать запись программой русских символов во внешем файле?
MrGluck
Модератор
Эксперт CЭксперт С++
7182 / 4348 / 634
Регистрация: 29.11.2010
Сообщений: 11,839
21.11.2012, 19:36     Как в файл записать несколько сточек? #8
Цитата Сообщение от HidForce Посмотреть сообщение
И как же мне с помощью <clocale> реализовать запись программой русских символов во внешем файле?
C++
1
2
3
4
5
6
7
8
9
10
#include <fstream>
#include <clocale>
 
int main()
{
    setlocale(LC_ALL, "");
    std::ofstream o("1.txt");
    o<< "Привет, мир";
    return 0;
}
не?
HidForce
56 / 56 / 13
Регистрация: 17.11.2012
Сообщений: 1,602
21.11.2012, 19:42     Как в файл записать несколько сточек? #9
MrGluck, согласен, что <clocale> позволяет правильно отображать в консоли русский язык, но это не основная проблема! Для меня проблематичным местом стала перекодировка русских символов во внешнем файле: вместо текста отображались кракозябры. Для устранения этой проблемы я и использовал CharToOem!
MrGluck
Модератор
Эксперт CЭксперт С++
7182 / 4348 / 634
Регистрация: 29.11.2010
Сообщений: 11,839
21.11.2012, 19:46     Как в файл записать несколько сточек? #10
Цитата Сообщение от HidForce Посмотреть сообщение
MrGluck, согласен, что <clocale> позволяет правильно отображать в консоли русский язык, но это не основная проблема! Для меня проблематичным местом стала перекодировка русских символов во внешнем файле: вместо текста отображались кракозябры. Для устранения этой проблемы я и использовал CharToOem!
Проблема в винде кодировке вашего блокнота
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
21.11.2012, 19:46     Как в файл записать несколько сточек? #11
MrGluck, какой здесь смысл в перегрузке операторов?
MrGluck
Модератор
Эксперт CЭксперт С++
7182 / 4348 / 634
Регистрация: 29.11.2010
Сообщений: 11,839
21.11.2012, 19:47     Как в файл записать несколько сточек? #12
Как в файл записать несколько сточек?
HidForce
56 / 56 / 13
Регистрация: 17.11.2012
Сообщений: 1,602
21.11.2012, 19:51     Как в файл записать несколько сточек? #13
Цитата Сообщение от MrGluck Посмотреть сообщение
Проблема в винде кодировке вашего блокнота
Возможно, но не факт, что у пользователя будет стоять нужная кодировка, а CharToOem дает возможность правильно отображать русский без всяких изменений кодировки!
И тем более в Notepad++ я несколько раз изменял кодировку. Эффекта 0!
MrGluck
Модератор
Эксперт CЭксперт С++
7182 / 4348 / 634
Регистрация: 29.11.2010
Сообщений: 11,839
21.11.2012, 19:58     Как в файл записать несколько сточек? #14
Цитата Сообщение от HidForce Посмотреть сообщение
Возможно, но не факт, что у пользователя будет стоять нужная кодировка, а CharToOem дает возможность правильно отображать русский без всяких изменений кодировки!
И тем более в Notepad++ я несколько раз изменял кодировку. Эффекта 0!
не факт, что у пользователя будет стоять Linux, а UTF-8 везде прокатит
Как в файл записать несколько сточек?
Вот кстати, для блокнота вариант (обратите внимание на шрифт):
Как в файл записать несколько сточек?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2012, 20:04     Как в файл записать несколько сточек?
Еще ссылки по теме:
Как записать файл в массив? C++
Как записать в файл FileWrite(...) ? C++
C++ Как записать вектор в файл?
Как записать в файл данные? C++
C++ Как записать string в файл?

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

Или воспользуйтесь поиском по форуму:
MrGluck
Модератор
Эксперт CЭксперт С++
7182 / 4348 / 634
Регистрация: 29.11.2010
Сообщений: 11,839
21.11.2012, 20:04     Как в файл записать несколько сточек? #15
Цитата Сообщение от go Посмотреть сообщение
MrGluck, какой здесь смысл в перегрузке операторов?
дабы юзать конструкцию типа
C++
1
2
Student s("Иван", "Петрович", ...);
std::cout<< s;
Удобно и уж куда лучше метода void print() в классе.
Yandex
Объявления
21.11.2012, 20:04     Как в файл записать несколько сточек?
Ответ Создать тему
Опции темы

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