Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 13

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

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

Студворк — интернет-сервис помощи студентам
Нужно написать программу которая будет записывать в файл ФИО и возраст студента (на каждую новую строчку новый студен). Помогите пожалуйста с кодом.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.11.2012, 01:05
Ответы с готовыми решениями:

Записать в файл несколько строк, а затем записать несколько строк из этого файла в другой
Заранее создать текстовый файл 1.txt и записать в него несколько строк текста. Программа должна получить из него второй файл 2.txt, в...

Как записать несколько массивов, каждый в свой файл?
Я недавно спрашивал здесь, как записать в файл. Мне подсказали. Вот такой вариант работает: #include <iostream> using namespace...

Создать текстовый файл in.txt, куда записать несколько строк. Найти номер самой короткой строки
1.Создать текстовый файл in.txt, куда записать несколько строк. Найти номер самой короткой строки. Буду благодарен ..

20
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2012, 02:57
В классе:
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; // возвращаем поток
}
0
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 13
21.11.2012, 16:07  [ТС]
а как без класса?
мы еще не учили их(
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2012, 19:08
Цитата Сообщение от CAJI0 Посмотреть сообщение
а как без класса?
мы еще не учили их(
Самое время начать. Все-таки основы объекто-ориентированного программирования.
0
59 / 59 / 24
Регистрация: 17.11.2012
Сообщений: 1,602
21.11.2012, 19:10
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;
}
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2012, 19:15
C++
1
ofstream fout("D:\\test.txt");
ссылки на файл должны быть не абсолютными
И в C++ для винды реализована библиотека <clocale>, С-шные танцы вокруг CharToOem не нужны.
Да и объект надо формировать, а не распиливать имя, фамилию и возраст по составляющим, имеющим в качестве связывающего звена лишь индекс массивов.
0
59 / 59 / 24
Регистрация: 17.11.2012
Сообщений: 1,602
21.11.2012, 19:32
Цитата Сообщение от MrGluck Посмотреть сообщение
И в C++ для винды реализована библиотека <clocale>, С-шные танцы вокруг CharToOem не нужны.
И как же мне с помощью <clocale> реализовать запись программой русских символов во внешем файле?
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2012, 19:36
Цитата Сообщение от 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;
}
не?
0
59 / 59 / 24
Регистрация: 17.11.2012
Сообщений: 1,602
21.11.2012, 19:42
MrGluck, согласен, что <clocale> позволяет правильно отображать в консоли русский язык, но это не основная проблема! Для меня проблематичным местом стала перекодировка русских символов во внешнем файле: вместо текста отображались кракозябры. Для устранения этой проблемы я и использовал CharToOem!
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2012, 19:46
Цитата Сообщение от HidForce Посмотреть сообщение
MrGluck, согласен, что <clocale> позволяет правильно отображать в консоли русский язык, но это не основная проблема! Для меня проблематичным местом стала перекодировка русских символов во внешнем файле: вместо текста отображались кракозябры. Для устранения этой проблемы я и использовал CharToOem!
Проблема в винде кодировке вашего блокнота
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
21.11.2012, 19:46
MrGluck, какой здесь смысл в перегрузке операторов?
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2012, 19:47
0
59 / 59 / 24
Регистрация: 17.11.2012
Сообщений: 1,602
21.11.2012, 19:51
Цитата Сообщение от MrGluck Посмотреть сообщение
Проблема в винде кодировке вашего блокнота
Возможно, но не факт, что у пользователя будет стоять нужная кодировка, а CharToOem дает возможность правильно отображать русский без всяких изменений кодировки!
И тем более в Notepad++ я несколько раз изменял кодировку. Эффекта 0!
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2012, 19:58
Цитата Сообщение от HidForce Посмотреть сообщение
Возможно, но не факт, что у пользователя будет стоять нужная кодировка, а CharToOem дает возможность правильно отображать русский без всяких изменений кодировки!
И тем более в Notepad++ я несколько раз изменял кодировку. Эффекта 0!
не факт, что у пользователя будет стоять Linux, а UTF-8 везде прокатит

Вот кстати, для блокнота вариант (обратите внимание на шрифт):
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2012, 20:04
Цитата Сообщение от go Посмотреть сообщение
MrGluck, какой здесь смысл в перегрузке операторов?
дабы юзать конструкцию типа
C++
1
2
Student s("Иван", "Петрович", ...);
std::cout<< s;
Удобно и уж куда лучше метода void print() в классе.
0
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 13
22.11.2012, 18:09  [ТС]
как же записать несколько строчек в файл при помощи цикла?
если можна покажите в коде.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
22.11.2012, 18:18
Цитата Сообщение от MrGluck Посмотреть сообщение
Самое время начать. Все-таки основы объекто-ориентированного программирования.

Не по теме:

Зачем отвечать не по теме? Тем более, что задание никак не связано с ООП. и автор просто не стремится изучать данную сомнительную парадигму программирования.



Добавлено через 56 секунд
Цитата Сообщение от MrGluck Посмотреть сообщение
Удобно и уж куда лучше метода void print() в классе.
о классах здесь говорит только MrGluck, а задание про строчку с фамилией студента char[] name="Vasya";
Как в файл записать несколько сточек?

Не по теме:

стРочек

0
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 13
22.11.2012, 18:19  [ТС]
в универе мы идем за программой. ооп будет только в следуеещем семестре(
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
22.11.2012, 19:34
Kuzia domovenok, ты считаешь, что знаний, даваемых в университете хватит для устройства на работу? Не в обиду преподавателям, но разве программирование не строится на самообучении?
Если брать лишь то, что дают - то останешься нисчем. Можно реализовать массивы имен, фамилий, дат и т.д. и косвенно связывать их общим индексом, но неужели самим неохота смоделировать объект?
в универе мы идем за программой
Хочешь изучить С++ - плюнь на программу и иди вперед.
0
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 13
22.11.2012, 19:35  [ТС]
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
#include <cstdlib>
#include <iostream>
#include<conio.h>
#include<string>
 
using namespace std;
 
void main()
{ 
setlocale(LC_ALL, "Russian");
    string SecondName, FirstName, MiddleName;
int Age;
int n;
FILE* f = fopen("output.txt", "w");
 cout << "How many students? "; 
 cin >> n;
 for (int i=1; i<=n; i++){
     cout << "Какая фамилия " << i << "-ого студента? "; 
   cin>> SecondName;
   cout << "Какое имя " << i << "-ого студента? "; 
   cin>> FirstName;
   cout << "Какое отчество " << i << "-ого студента? "; 
  cin>>MiddleName;
   cout<<"Какой возвраст "<<i<<"-ого студента? " ;
   cin>>Age;
    
    fprintf(f, "%s %s %s %d\n", SecondName.c_str(), FirstName.c_str(), MiddleName.c_str(), Age);
    
  }
  fclose(f );
 
getch();
}
вот такое получилось
могли бы показать на этом коде как записывать русские буквы в файле.
а то одни иероглифы получаются(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.11.2012, 19:35
Помогаю со студенческими работами здесь

записать несколько элементов в вектор сразу, как в массиве
Добрый день, форум. Возможно ли в векторе записать несколько элементов одним разом, как в массиве? Например: массив: int massive =...

Как записать команду в консоль windows несколько раз?
Запускаю консоль в цикле, так: for(int k=0;k&lt;=10;k++){ system (&quot;start cmd&quot;); } как мне каждый раз. в открытой консоли,...

Файл: Есть 5 классов, как их записать в текстовый файл?
Ребята пожалуйста кто знает как разобраться с файлами. Есть 5 классов как их записать в текстовый файл??????Чтобы они потом в этом файле...

Как одну или несколько переменных записать в файл и при запуске считать их
Всем привет. Скорее всего уже задавался данный вопрос, но я не нашел(ИЛИ слепой). Как одну или несколько переменных записать в файл и при...

Записать в типизированный файл несколько строк текста и прочитать
Записать в типизированный файл несколько строк текста, после чего вывести эти строки текста с типизированного файла на экран.


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru