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

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

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

Работа с файлами из консольного приложения - C++

28.05.2009, 22:30. Просмотров 706. Ответов 4
Метки нет (Все метки)

Есть две задачи которые требуют работать с файлами, а опыт работы с файлами из приложения у меня очень слабый.

Задача 1:
"Файл содержит данные об учениках школы: фамилия, имя, адрес(улица, дом, квартира), класс. Записать все данные об учениках данного класса во второй массив. Распечатать его, выделяя тех из них, кто живёт на улице Ленина."

С записью в текстовый файл у меня проблем нет, по моему замыслу это должно выглядить примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void main()
{
    char name[20], s_name[20];
    printf ("Введите имя ученика: ");
    scanf  ("%s", name);
    printf ("\n Введите фамилию ученика: ");
    scanf  ("%s", s_name);
    char street[20];
    int house, flat;
    printf ("\n Введите улицу/дом/квартиру ученика: ");
    scanf  ("%s", street);
    scanf  ("%d", &house);
    scanf  ("%d", &flat);
    int class;
    printf ("Введите класс ученика: ");
    scanf  ("%d", &class);
    FILE * fo;
    fo = fopen("Uchen.txt","a");
    fprintf( fo, "\n Имя Фамилия -> %s %s \n", name, s_name);
    fprintf( fo, "Адресс %s %d %d \n", street, house, flat);
    fprintf( fo, "Класс -> от %d ", class);
    fclose(fo);
}
А вот как брать содержимое файла, производить с ним действия и работать с ним, я не могу разобратся. Ведь там вроде как всё идёт как сплошной текст ,как же выбрать из всего текста улицу Ленина?


Задача 2:
"В бинарном файле записана случайная последовательность чисел из 100 эллементов, вывести отрицательные числа из файла на экран."

В этой задаче загвоздка ещё больше ,ходя похожа на предыдушую. Как вводить что-то в бинарный файл, и извлекать это обратно (что бы работать с извлечёными данными) я не знаю. Один преподователь сказал что можно сделать эту задачу в обычном текстовом файле, но опять же я не знаю как извлечь числа из этого файла, так что бы они воспринимались, как 100 отдельных элементов, а не как набор символов.


Очень слёзно прошу помочь ламеру с этими задачами
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2009, 22:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с файлами из консольного приложения (C++):

Проект консольного приложения из Windows приложения - C++
привет всем. В чем может быть ошибка? 1>MSVCRTD.lib(crtexew.obj) : error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в...

Рестарт консольного приложения - C++
Как можно реализовать рестарт консольного приложения (использую VS 2012)? Находил на форуме решения только для Borland.

Мню консольного приложения - C++
написал с горем пополам прогу, к ней надо меню, сел меню делать, зашел в вот такой тупик: запустите, увидите лаг. В чем проблема?#include...

Интерфейс консольного приложения - C++
Мне интересно, реально ли это вообще? Поясню на конкретном примере. Пытаюсь писать консольную игру-файтинг. Текстовая ,естественно. ...

Из консольного приложения в dll - C++
Доброго времени суток. Есть консольный проект который нужно переделать в dll библиотеку. Вызываться из другой программы будет лишь одна...

Отладка консольного приложения - C++
в отладчике OllyDbg открыл оконный проект из Делфи, вся информация, код отображаются нормально. Таким же способом открыл обычную консольную...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ISergey
Maniac
Эксперт С++
1374 / 885 / 52
Регистрация: 02.01.2009
Сообщений: 2,658
Записей в блоге: 1
29.05.2009, 01:09 #2
Цитата Сообщение от Viller Посмотреть сообщение
а опыт работы с файлами из приложения у меня очень слабый.
Ну так нужно быстро приобрести:
Input/Output with files
1
Viller
0 / 0 / 0
Регистрация: 28.05.2009
Сообщений: 4
29.05.2009, 03:56  [ТС] #3
Цитата Сообщение от ISergey Посмотреть сообщение
Ну так нужно быстро приобрести:
Input/Output with files
Вроде удобная вещь, но я всётаки не совсем понимаю как это поможет мне реализовать работу приложения. Тоесть в Си и так есть какие то функции для работу с файлами, но дело не столько в том как достать из файла информацию, как в том что-бы превести её к рабочему виду.
0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
29.05.2009, 09:29 #4
fscanf можно (как один из вариантов, там их больше), а пример - программа, которая добавляет игроков в базу данных, а потом достаёт оттуда каждую запись и создаёт для неё отдельный файл

текстовый и бинарный файл различаются лишь взглядом на этот файл, любой файл можно рассмотреть как текстовый или как бинарный
0
Вложения
Тип файла: zip igroki.tar.zip (1.4 Кб, 14 просмотров)
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
29.05.2009, 10:27 #5
текстовый файл состоит из строк, с символом \n в каждой, даже если в ней нет символов
(вроде даже может добавиться, если последнюю строку читаешь а в ней нет его)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2009, 10:27
Привет! Вот еще темы с ответами:

Пикселы шрифта консольного приложения - C++
Стандартный шрифт, которым выводятся сообщения в консольном приложении состоят из букв. Каждая буква вписывается в прямоугольник размером...

Иконка для консольного приложения - C++
Всем привет !! Возник такой вопрос можно ли консольной программе дать иконку которую ты хочешь а не скучную стандартную . если да то как ?

Команды для консольного приложения - C++
Пишу на С++. Нужно создать консольное приложение. Со своими командами. Мне просто хочется понять, как что-то подобное этому: sudo...

Создание окна из консольного приложения - C++
Подскажите пожалуйста как создать окно в консольном с++


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

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

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