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

Создание и чтение файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ структуры http://www.cyberforum.ru/cpp-beginners/thread287275.html
Вот такая задача: ведомость абитуриентов, сдавших вступительные экзамены в университет, содержит ФИО абитуриента, оценки. Определить средний бал по университету и вывести список абитуриентов, средний балл которых выше среднего балла по университету. Первыми в списке должны идти студенты сдавшие экзамены на 10. Добавлено через 1 час 50 минут Вот такая задача: ведомость абитуриентов, сдавших...
C++ Для хранения данных о ноутбуках описать структуру вида Для хранения данных о ноутбуках описать структуру вида: struct NOTEBOOK { char m odel; // н аименование struct size { // габаритные размеры float х; float у; floatz; }; float w ; // в ес int price; // цена } http://www.cyberforum.ru/cpp-beginners/thread287272.html
Visual C++ исправить ошибку C++
помогите пожалуйста исправить ошибку задание звучит так: // при нажатии 1, 2, ... 9 -> Стирание символа в позиции N (операция 1) // при нажатии Alt+1,2,…,9 -> Восстановление символа в позиции N (операция 2) я задала строку "123456789" и мне нужно , чтобы он не стирал позицию N а ставил на это место пробел. Моя программа стирает позицию и в итоге смещает всю строку вправо. А еще не знаю...
C++ Проверка строк в двухмерном символьном массиве
//--------------------------------------------------------------------------- #include<conio.h> #include<iostream.h> #pragma hdrstop int a(char **C, char *B, int p) { if(C==B) return 1; else return 0; } //---------------------------------------------------------------------------
C++ строки http://www.cyberforum.ru/cpp-beginners/thread287250.html
Помогите решить задачу: дана строка символов, состоящая из произвольного текста, слова разделены пробелами. Вывести на экран порядковый номер слова минимальной длины и количество символов в этом слове.
C++ Плохие Координаты в консоле!! Всем привет, Очень нужна помощь. Пишу в VS2010 .Я написал игру крестики нолики 5 на 5. Она не графическая, я ее писал в консоле. Сделал там поле со всеми палочками черточками и помере того как кто-то ходит оно перерисовывается с новыми данными. Т.е. ввел координаты куда хочешь поставить крестик/нолик затем командой system("cls") стираю и заного рисую поле с уже проставленным знаком. Показал... подробнее

Показать сообщение отдельно
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
05.05.2011, 21:35     Создание и чтение файла
Во-первых, надо записать всю эту информацию в файл. То, что записано у вас - это не запись в файл, а фиг знает что.
Тут есть некоторые проблемы со string. Поэтому лучше сначала записывать числа, а потом уже FIO.
1. Объявление объекта-потока и связывание его с файлом:
C++
1
2
ofstream output("C:/results.txt", ios::out | ios::trunc);
if (!output.is_open()) return;
Можно чуть проще:
C++
1
2
ofstream output("C:/results.txt");               // -- по умолчанию  ios::out | ios::trunc
if (!output.is_open()) return;
Потом записать туда данные:
C++
1
2
3
4
5
6
7
 int i = 0;
while (i < 5)
{   for(int j = 0; j < 4; ++j) output << m[i].raiting[j] << ' ';
     output << m[i].FOI.c_str() << endl;
     ++i;
}
output.close();
Добавлено через 23 минуты
И только после этого можно читать данные из файла и выводить в новый файл:
Нам потребуется два файла: тот который записали - входной, и новый - выходной
C++
1
2
3
4
ifstream input("C:/results.txt");               // -- по умолчанию  ios::in
if (!output.is_open()) return;
ofstream output("C:/new_results.txt");               // -- по умолчанию  ios::out | ios::trunc
if (!output.is_open()) return;
Еще нужна переменная для чтения:
C++
1
Student p;
Потом можно писать цикл по чтению/ Причем, в каком порядке выводили, в таком порядке и читать придется:
C++
1
2
3
4
5
6
7
8
9
10
11
bool yes = true;
while(yes)
{ input >> p.rating[0] >> p.rating[1] >> p.rating[2] >> p.rating[3];
   input >> p.FIO; 
   if(!input.eof())       // -- если не конец файла
   { if(условие отбора) 
     { // -- вывод в оутпут - как раньше было написано --
     }
   } else yes = false;      // -- для выхода из цикла
}
input.close();
Вот как-то так.
 
Текущее время: 07:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru