Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
1 / 1 / 3
Регистрация: 04.10.2011
Сообщений: 92

Файлы:Напечатать все элементы типизированного файла

18.04.2013, 16:32. Показов 2295. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напечатать все элементы типизированного файла, каждая запись которого - число.
Рассмотрим два варианты:
1) известно, что в существующем файле записаны 10 чисел.
2) размер существующего файла не известен.

Добавлено через 1 час 5 минут
Люди ну помогите пожалуйста!Очень прошу!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.04.2013, 16:32
Ответы с готовыми решениями:

Напечатать все элементы типизированного файла
Напечатать все элементы типизированного файла, каждый элемент файла — отдельное слово. Рассмотреть два варианта: а) известно, что в...

С помощью очереди за один просмотр файла напечатать элементы файла в заданном порядке
Сформировать файл из вещественных чисел и с помощью очереди за один просмотр файла напечатать элементы файла в следующем порядке: сначала...

Очередь. За один просмотр файла без использования дополнительных файлов напечатать элементы файла в порядке
HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!! Используя очередь, решить...

13
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
18.04.2013, 17:52
rinalast, не знаю на счет второго, но вроде так можно

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
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
    ifstream file("input.txt");
 
    int value;
 
    /*случай для 10 чисел*/
    for(int i = 0; i < 10; ++i){
        file >> value;
        cout << value << ' ';
    }
    
    cout << "\n\n";
 
    /*случай когда размер не известен*/
    file.seekg(0);                              //возврат к началу файла
    while(!file.eof()){
        file >> value;
        cout << value << ' ';
    }
 
    cout << "\n\n";
    return 0;
}
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
18.04.2013, 18:04
yoghurt92, не помешает перед выводом значения проверку сделать:
C++
1
if( !file.fail() )
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
18.04.2013, 18:14
Tulosba, ну я накидал по быстрому, да, вы правы, можно еще просто сделать

C++
1
file.clear();
чтобы сбросить флаг eofbit или badbit если был обнаружен конец файла
1
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
18.04.2013, 18:18
yoghurt92, а вообще, мне кажется ТС имел в виду бинарные файлы, говоря про "элементы типизированного файла".
1
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
18.04.2013, 18:20
Tulosba, может быть, ну пока ничего не сказал, если надо переделаю
0
1 / 1 / 3
Регистрация: 04.10.2011
Сообщений: 92
18.04.2013, 18:22  [ТС]
да я имел ввиду двоичные бинарные файлы
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
18.04.2013, 18:53
rinalast,

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
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
    ifstream file("input.txt", ios::binary | ios::in);
    int value;
 
    /*случай для 10 чисел*/
    for(int i = 0; i < 10; ++i){
        file >> value;
        cout << value << ' ';
    }
    
    cout << "\n\n";
 
    /*случай когда размер не известен*/
    file.clear();
    file.seekg(0);                              //возврат к началу файла
    while(!file.eof()){
        file >> value;
        cout << value << ' ';
    }
 
    cout << "\n\n";
    return 0;
}
1
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
18.04.2013, 21:55
yoghurt92, а как создать файл, который сможет скушать эта программа? Мне кажется без read/write тут не обойтись.
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
18.04.2013, 22:10
Tulosba, я ждал этого вопроса, даже тут обсуждалось, можно использовать fin >> value, а можно и read/write
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
18.04.2013, 22:30
yoghurt92, можете привести код для создания файла, чтобы потом его прочитать кодом из 8 сообщения?
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
18.04.2013, 22:43
Tulosba, нет, конечно только так

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
#include <fstream>
#include <iostream>
using namespace std;
 
int main()
{    
     /* открываем файл для записи */
    ofstream ofile("input.txt", std::ios::binary);
    if(ofile.is_open())
    { 
        for(int i = 0; i < 20; i++)   
            ofile.write((char *)&i, sizeof(int));  
        ofile.close();
    }
 
    int value;
    ifstream ifile("input.txt", ios::binary);
    for(int i = 0; i < 10; ++i){
        ifile.read((char *)&value , sizeof(int));
            cout << value  << ' ';
    }
 
    cout << "\n\n";
    ifile.clear();
    ifile.seekg(0);
    while(ifile.read((char *)&value , sizeof(int))) 
        cout << value  << ' ';
    cout << '\n'; 
 
    return 0;
}
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
19.04.2013, 04:52
yoghurt92, тогда я сообщение #10 совсем не понял.
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
19.04.2013, 08:20
Tulosba, ну если файл создан и там что-то есть, то можно прочитать его как бинарный, но записать не получиться, плюс если выводить через read то вывод будет не адекватный И если именно записывать и читать, то да, только raed/write Я просто показал как можно прочитать данные в бинарном режиме, вы были абсолютно правы когда сделали замечание
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.04.2013, 08:20
Помогаю со студенческими работами здесь

Напечатать все не отрицательные и не превышающие 100 элементы массива
Дан массив. Напечатать: a) все не отрицательные элементы б) все элементы, не превышающие числа 100 Начало есть, нужен только...

Бинарные деревья. Напечатать все элементы дерева Т по уровням
Всем привет. Помогите написать программу или хотя бы функцию, условие следующее: Напечатать все элементы дерева Т по уровням, сначала...

Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7
Дан массив целых чисел. Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7. Если элементов, оканчивающихся...

Напечатать все элементы массива, значения которых равны их индексам
Напечатать все элементы массива F, значения которых равны их индексам. Хелп нужна помощь

Дан массив. Напечатать все элементы не превыщающие числа 100
Дан массив. Напечатать все элементы не превыщающие числа 100 #include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;conio.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru