Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Історія України додаток до лекції №5




МП

Else

Else

Увага!!! При відкритті не забути вказати, що файл двійковий (b).

 

Розділ вивчається тільки для при відмінній здачі попереднього матеріалу.

ДОВІЛЬНИЙ ДОСТУП: fseek()

Функція fseek() дозволяє нам обробляти файл подібно масиву й безпосередньо досягати будь-якого певного байта у файлі, відкритому функцією fopen (). Помітимо, що fseek () має три аргументи й повертає значення типу int.

/' використання fseek() для друку вмісту файлу */

#include <stdio.h>

main()

int number;

char names[80];

{

FILE *fp;

cin>>names;

long offset = 0L; /* зверніть увагу, що це тип long */

if ((fp = fopen (names, "r")) = = 0)

printf (“ Я не можу відкрити %s.\n", names);

{

while (fseek (fp, offset++, 0) = = 0)

putchar (getc (fp));

fclose (fp);

}

}

Перший із трьох аргументів функції fseek() є вказівником типу FILE на файл, у якім ведеться пошук. Файл слід відкрити, використовуючи функцію fopen().

Другий аргумент названий “offset” (от чому ми вибрали дане ім'я для змінної). Цей аргумент повідомляє, як далеко слід пересунутися від початкової крапки (див. нижче); він повинен мати значення типу long, яке може бути позитивним (рух уперед) або негативним (рух назад).

Третій аргумент є кодом, що визначають початкову крапку:

Код Положення у файлі

0 початок файлу

1 поточна позиція

2 кінець файл (у деяких системах може не передбачатися)

Функція fseek () повертає 0, якщо всі добре, і -1, якщо є помилка, наприклад спроба переміщатися за межі файлу. Тепер ми можемо роз'яснити наш маленький цикл:

while (fseek (fp, offset+ +, 0) = = 0) putchar(getc(fp));

Оскільки змінна offset ініціалізована нулем, при першім проходженні через цикл ми маємо вираз

fseek (fp, 0L, 0)

означаюче, що ми йдемо у файл, на який посилається вказівник fp, і знаходимо байт, що відстоїть на 0 байт від початку, тобто перший байт. Потім функція putchar() друкує вміст цього байта. При наступнім проходженні через цикл змінна offset збільшується до 1L, і друкується наступний байт. По суті, змінна offset діє подібно індексу для елементів файлу. Процес триває доти, поки offset не спробує потрапити в fseek() після кінця файлу. У цьому випадку fseek() повертає значення -1 і цикл припиняється.

Цей останній приклад чисто навчальний. Немає необхідності використовувати fseek(), тому що getc() так чи інакше проходить через файл байт за байтом; fseek() наказала getc() «подивитися» туди, куди вона сама вже збиралася подивитися.

/* друк в прямому й зворотному напрямках */

#include <stdio.h>

main(number, names)

char *names [ ];

{

FILE *fp;

long offset = 0L;

if (fp = fopen(names[l], "r")) = = 0)

printf (“Я не можу відкрити %s.\n", names[l]);

{

while (fseek(fp, offset++, 0) = = 0)

{

putchar(getc(fp));

if (fseek(fp, -(offset + 3), 2) = = 0) putchar(getc(fp));

}

fclose(fp);

}

Застосування цієї програми до файлу, що містить ім'я «Мальволио», дає такий приємний результат: Моаилльоввоьллиаом

Наша програма друкує перший символ файлу, потім останній, потім друг, що потім передує останньому і т.д. Ми тільки додали от ці рядки в останню програму:

if (fseek(fp, - (offset + 3), 2) = = 0) putchar(getc(fp));

Код 2 в операторові припускає, що ми будемо рахувать позиції від кінця файлу. Знак мінус означає рахунок у зворотному напрямку. +3 стоїть тут тому, що ми починаємо з останнього регулярного символу файлу й пропускаємо кілька символів «новий рядок» і EOF у самому кінці файлу. (Точне значення цього коректування залежить від типу системи. Наші файли мають наприкінці по два символи нового рядка, за якими ідуть два EOF, тому ми саме їх і обходимо.)

Таким чином, ця частина програми чергує друк у зворотному напрямку й друк в прямому напрямку.

 

Право заробляти:

1. право володіти,

2. використовувати,

3. розпоряджатись;

Термін майнового права для різних ОІВ є неоднаковим. Наприклад майнове право на патент 20років. Після завершення МП, воно переходить у суспільне надбання. Ця складова є загальною для всіх об’єктів.

НП – для всіх ОІВ однакове і є безмежним:

1. Право на ім’я, право на псевдонім, право на анонімність.

2. Право на недоторканість.

 

Історики стверджують, що вперше звернули увагу у Великобританії на початку XIVст., при чому забезпечення охорони результатів розумової діяльності відповідною грамотою, ця грамота видавалась королівською владою і називалась Letters Patent. Цей документ закріпляв за автором право на деякий термін, а також позбавляла на деякий час від податків. Цей охоронний термін був 14 років і міг інколи продовжуватися. Трошки пізніше у Франції теж почали видавати такі патенти.

В XV після винайдення Гуттенбергом друкарського верстату виникла серйозні проблеми з охороною авторського права. Для усунення цієї проблеми в 1709 році англійським парламентом був прийнятий «Статут королеви Анни», який закріплював права авторів на деякий термін(історики називають це перший закон про копірайт).

Першим звернув увагу на розподіл прав на ОІВ німецькі філософи, особисто Імануіл Кант.

 

Різновиди ОІВ:

 
 


 

 

Таблиця №1.1.




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 303; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.