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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 40, средняя оценка - 4.83
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
30.05.2010, 01:03     что такое типизированный файл? #1
что это такое? и как с ним работать?

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

Добавлено через 52 минуты
неужели никто не знает?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
30.05.2010, 03:03     что такое типизированный файл? #2
Это такой вид файлов, в котором содержатся записи одного типа и фиксированной длины.
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
30.05.2010, 15:34  [ТС]     что такое типизированный файл? #3
и как их редактировать?

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

Добавлено через 11 часов 23 минуты
ап ап
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
30.05.2010, 16:01     что такое типизированный файл? #4
Цитата Сообщение от so1o Посмотреть сообщение
только я не понимаю одного, как работать с типизированными файлами, я их абсолютно не представляю...!!!
со всеми файлами работают по одним и тем же принципам. открываешь бинарно и читаешь. "типизированный" не делает его каким-то особенным. только контент устойчив. файл он и есть файл.
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
30.05.2010, 16:12  [ТС]     что такое типизированный файл? #5
а откуда его взять?? как его редактировать?? я вообще не представляю что это такое..
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 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
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
30.05.2010, 19:51  [ТС]     что такое типизированный файл? #7
я могу с ним работать как с обычным текстовым??

Добавлено через 5 минут
или так, кто нить скиньте мне типизированный файл, и всё!!!
ну чтобы там был массив из элементов кратных 3...
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16825 / 5246 / 321
Регистрация: 30.03.2009
Сообщений: 14,127
Записей в блоге: 26
30.05.2010, 20:04     что такое типизированный файл? #8
so1o, тебе уже пояснили, что физический файл - он и в африке файл. Я не знаю, что такое типизированный, но если в посте #2 тебе объяснили правильно, то "типизированный" - это логическое понятие. Такое же логическое, как "файл, состоящий из одних нулей", "файл размером 10 байт" или "файл, созданный в среду чётного числа". Любой из этих файлов ты можешь редактировать, крутить-вертеть, удалять, слать по почте и т.п.

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

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

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

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

Добавлено через 7 минут
или так. могу ли я создать заранее некий файл, а потом через блокнот отредактировать и дальше с ним работать??
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 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
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
30.05.2010, 21:11  [ТС]     что такое типизированный файл? #16
ну спасибо конечно ...
я хотел сам сделать

Добавлено через 2 минуты
что такое мемори.ш ??
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
30.05.2010, 22:14     что такое типизированный файл? #17
Цитата Сообщение от so1o Посмотреть сообщение
ну спасибо конечно ...
я хотел сам сделать

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

в memory.h находятся функции для работы с памятью. конкретно в этом примере используется функция memcpy, для копирования одного участка памяти в другой
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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() внимание можно не обращать, а вот где он там какой ';' недосчитался - я так и не понял. Странно, короче...
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 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 вынести наверх.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2010, 07:09     что такое типизированный файл?
Еще ссылки по теме:

Что такое перегрузка оператора? Что у меня в коде за ошибка? C++
C++ Типизированный файл
C++ Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?

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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
31.05.2010, 07:09     что такое типизированный файл? #20
Цитата Сообщение от PointsEqual Посмотреть сообщение
Это такой вид файлов, в котором содержатся записи одного типа и фиксированной длины
Только одного типа. Длина записей определяется типом, а не значениями.
Yandex
Объявления
31.05.2010, 07:09     что такое типизированный файл?
Ответ Создать тему
Опции темы

Текущее время: 11:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru