Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.84/96: Рейтинг темы: голосов - 96, средняя оценка - 4.84
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
1

что такое типизированный файл?

30.05.2010, 01:03. Показов 19563. Ответов 26
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
что это такое? и как с ним работать?

Добавлено через 24 минуты
хелп народ...

Добавлено через 52 минуты
неужели никто не знает?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.05.2010, 01:03
Ответы с готовыми решениями:

Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из них
Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из...

Что такое h -файл и obj-файл?Зачем они нужны?
1.Что такое h -файл и obj-файл?Зачем они нужны?

Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?
Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?

Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?
Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?

26
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
30.05.2010, 03:03 2
Это такой вид файлов, в котором содержатся записи одного типа и фиксированной длины.
1
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
30.05.2010, 15:34  [ТС] 3
и как их редактировать?

Добавлено через 1 час 6 минут
Компоненты типизированного файла – целочисленные массивы, состоящие из 3 элементов. Записать в новый текстовый файл тот массив, сумма элементов которого максимальна.
если я правильно понял, сначала надо создать этот файл и внести эти массивы, потом читать же из него и в текстовый...
только я не понимаю одного, как работать с типизированными файлами, я их абсолютно не представляю...!!!

Добавлено через 11 часов 23 минуты
ап ап
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
30.05.2010, 16:01 4
Цитата Сообщение от so1o Посмотреть сообщение
только я не понимаю одного, как работать с типизированными файлами, я их абсолютно не представляю...!!!
со всеми файлами работают по одним и тем же принципам. открываешь бинарно и читаешь. "типизированный" не делает его каким-то особенным. только контент устойчив. файл он и есть файл.
0
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
30.05.2010, 16:12  [ТС] 5
а откуда его взять?? как его редактировать?? я вообще не представляю что это такое..
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
30.05.2010, 16:17 6
Цитата Сообщение от so1o Посмотреть сообщение
а откуда его взять?? как его редактировать?? я вообще не представляю что это такое..
блин. я же говорю тебе. это обычный файл! создай его сам. ты думаешь для него надо какое-то особе расширение? нет! от всех других файлов он отличается только тем, что ты заранее знаешь его структуру.

Добавлено через 2 минуты
Цитата Сообщение от so1o Посмотреть сообщение
Компоненты типизированного файла – целочисленные массивы, состоящие из 3 элементов
содержимое файла выглядеть будет примерно так:
Код
1 2 3
4 5 6
7 8 9
9 10 11
11 12 13
хотя учитывая, что число элементов в каждом массиве нам известно можно и в строчку написать просто (но это неудобно для восприятия человеком):
Код
1 2 3 4 5 6 7 8 9
1
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
30.05.2010, 19:51  [ТС] 7
я могу с ним работать как с обычным текстовым??

Добавлено через 5 минут
или так, кто нить скиньте мне типизированный файл, и всё!!!
ну чтобы там был массив из элементов кратных 3...
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
30.05.2010, 20:04 8
so1o, тебе уже пояснили, что физический файл - он и в африке файл. Я не знаю, что такое типизированный, но если в посте #2 тебе объяснили правильно, то "типизированный" - это логическое понятие. Такое же логическое, как "файл, состоящий из одних нулей", "файл размером 10 байт" или "файл, созданный в среду чётного числа". Любой из этих файлов ты можешь редактировать, крутить-вертеть, удалять, слать по почте и т.п.

Цитата Сообщение от so1o Посмотреть сообщение
Компоненты типизированного файла – целочисленные массивы, состоящие из 3 элементов.
Пример такого файла тебе привели в посте #6

Добавлено через 1 минуту
Цитата Сообщение от so1o Посмотреть сообщение
или так, кто нить скиньте мне типизированный файл, и всё!!!
Запиши в файл три целочисленных числа - вот тебе и типизированный файл того типа, что у тебя описан в посте 3
2
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
30.05.2010, 20:05 9
Цитата Сообщение от so1o Посмотреть сообщение
я могу с ним работать как с обычным текстовым??
да!
Цитата Сообщение от so1o Посмотреть сообщение
или так, кто нить скиньте мне типизированный файл, и всё!!!
ну чтобы там был массив из элементов кратных 3...

давай начнем с основ. что такое файл по-твоему мнению? чем отличается текстовый файл от бинарного? зачем файлу расширение?
чем отличаются 2 файла с таким содержанием:
file.txt
Код
01234567890

file.dat
Код
01234567890
1
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
30.05.2010, 20:08  [ТС] 10
ну файл это данные, которые хранятся где-то на диске компьютера.
а бинарный как я понял тоже самое что и текствоый, только данные записаны в последовательности битов??
а на счет этих файлов, я не знаю.. наверно ничем
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
30.05.2010, 20:11 11
Цитата Сообщение от so1o Посмотреть сообщение
а бинарный как я понял тоже самое что и текствоый, только данные записаны в последовательности битов??
да и текстовый файл это тоже последовательность битов (но тут с точки зрения программирования на Си/Си++ есть небольшие нюансы)
Цитата Сообщение от so1o Посмотреть сообщение
а на счет этих файлов, я не знаю.. наверно ничем
вот именно! ничем! также и типизированный файл от обычного текстового не отличается ничем, так что создавай этот файл и работай с ним, так же и расширение ты ему можешь дать любое - разницы никакой!
1
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
30.05.2010, 20:13  [ТС] 12
ЧОРТ!! я сбит с толка!!
зачем тогда в условии написали типизированный файл??!
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
30.05.2010, 20:37 13
Цитата Сообщение от so1o Посмотреть сообщение
зачем тогда в условии написали типизированный файл??!
видимо это должно облегчить задачу, так как не надо делать различные проверки на правильность данных. Все данные из файла считаются заведомо верными. Так, например, для матриц, ты уже заранее знаешь какого размера матрица и ты можешь смело пользоваться статическими массивами определенного размера 3x3.
1
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
30.05.2010, 20:49  [ТС] 14
ура, последний вопрос
а как туда занести этот массив?)
спасибо тебе огромное =)

Добавлено через 7 минут
или так. могу ли я создать заранее некий файл, а потом через блокнот отредактировать и дальше с ним работать??
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
30.05.2010, 20:58 15
вот решение для твоей задачи, если я его правильно понял
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <stdlib.h>
#include <stdio.h>
#include <memory.h>
 
#define SIZE 3
 
int main()
{
   // counts
   int i = 0, j = 0; 
   // file
   char * file_name = "in.txt";
   FILE * fin = NULL;
   // arrays
   int narr[SIZE];
   int ntmp[SIZE];
   // sum
   long sum = 0;
 
   // open file
   if((fin = fopen(file_name, "rb")) == NULL) {
      perror("can't open file");
      abort();
   }
 
   while(!feof(fin))
   {
      // read data
      for(i = 0; i < SIZE; ++i)
         fscanf(fin, "%d ", &ntmp[i]);
 
      // check sum
      long ntsum = 0;
      for(i = 0; i < SIZE; ++i)
         ntsum += ntmp[i];
   
      // copy array
      if(ntsum > sum) 
      {
         sum = ntsum;
         memcpy(narr, ntmp, SIZE * sizeof(int));
      }
   }
 
   // close file
   fclose(fin);
 
   // display max array
   for(i = 0; i < SIZE; ++i)
      printf("%d ", narr[i]);
   printf("\nitem sum: %d\n", sum);
 
   return 0;
}
in.txt
Код
1 1 1
2 2 2
5 5 5
3 3 3
4 4 4
1
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
30.05.2010, 21:11  [ТС] 16
ну спасибо конечно ...
я хотел сам сделать

Добавлено через 2 минуты
что такое мемори.ш ??
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
30.05.2010, 22:14 17
Цитата Сообщение от so1o Посмотреть сообщение
ну спасибо конечно ...
я хотел сам сделать

Добавлено через 2 минуты
что такое мемори.ш ??
наличие моего примера никак не должно мешать тебе попробовать сделать это самому.

в memory.h находятся функции для работы с памятью. конкретно в этом примере используется функция memcpy, для копирования одного участка памяти в другой
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
31.05.2010, 03:42 18
Цитата Сообщение от fasked Посмотреть сообщение
конкретно в этом примере используется функция memcpy
Я Вас удивлю, но memcpy() находится в string.h. Кстати, тоже голову ломал, что тут memory.h делает...

Добавлено через 6 минут
fasked, кстати, ещё интересный момент - gcc Ваш код компилит без проблем. И ворде бы програмка работает... А вот мелкомягкий cl вот такую ересь пишет:
Код
C:\cpp\other>cl fasked001.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

fasked001.c
fasked001.c(21) : warning C4996: 'fopen' was declared deprecated
        C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\stdio.h(234) : see
 declaration of 'fopen'
        Message: 'This function or variable may be unsafe. Consider using fopen_
s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help
 for details.'
fasked001.c(30) : warning C4996: 'fscanf' was declared deprecated
        C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\stdio.h(249) : see
 declaration of 'fscanf'
        Message: 'This function or variable may be unsafe. Consider using fscanf
_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online hel
p for details.'
fasked001.c(33) : error C2143: syntax error : missing ';' before 'type'
fasked001.c(35) : error C2065: 'ntsum' : undeclared identifier

C:\cpp\other>
На параноидальные предупреждения про fprintf()/fscanf() внимание можно не обращать, а вот где он там какой ';' недосчитался - я так и не понял. Странно, короче...
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
31.05.2010, 07:05 19
Цитата Сообщение от easybudda Посмотреть сообщение
Я Вас удивлю, но memcpy() находится в string.h. Кстати, тоже голову ломал, что тут memory.h делает...
может быть теперь и я вас в свою очередь удивлю
на том же MSDN о функции mempcy написано Required header: <memory.h> or <string.h>. то есть нет разницы какой заголовок подключать. но я из своих каких-то предпочтений для функций, связанных с работой с памятью (которые начинаются с префикса mem) подключая memory.h, а для функций, связанных конкретно со строками (str) подключаю string.h. просто так больше нравится =)
хотя в mingw заголовок memory.h содержит всего лишь #inlude <string.h> =) в MS уже побольше всего...
Цитата Сообщение от easybudda Посмотреть сообщение
На параноидальные предупреждения про fprintf()/fscanf() внимание можно не обращать, а вот где он там какой ';' недосчитался - я так и не понял. Странно, короче...
действительно странно. видимо надо объявление переменной long ntsum вынести наверх.
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
31.05.2010, 07:09 20
Цитата Сообщение от PointsEqual Посмотреть сообщение
Это такой вид файлов, в котором содержатся записи одного типа и фиксированной длины
Только одного типа. Длина записей определяется типом, а не значениями.
0
31.05.2010, 07:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2010, 07:09
Помогаю со студенческими работами здесь

Что такое файл с расширением cpp?
Процмем.цпп ProcMem.cpp Что это? Добавлено через 18 минут Может кто объяснить половину вот...

Что такое хэндлер файла? Что такое файловый указатель?
Что такое хэндлер файла? Что такое файловый указатель?

как в с++ создается типизированный файл? и как вообще понять типизированный?
вопрос в теме

Что это вообще такое и зачем оно надо: #include <файл> и using name space std?
Объясните десятикласснице, что такое заголовочные файлы, зачем они нужны? Что такое пространство...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru