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

С под Linux

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

Поменять в файле местами группы байт - C Linux

16.12.2016, 13:34. Просмотров 501. Ответов 4
Метки нет (Все метки)

Всем добрый день,не могу сделать одну лабораторную работу
Цель работы:

Изучение принципов и средств управления файлами в Linux-приложениях.

Для выполнения лабораторной работы необходимо написать и отладить

программу на языке С согласно варианту задания.

2. Задание к лабораторной работе

Выполнение работы заключается в написании и отладке программы по одному

из вариантов задания. Ввод текста программы и его редактирование

производится с помощью любого текстового редактора LINUX (vi, ed и др.).

Компиляция программы осуществляется с помощью следующего вызова:

$ gcc имя_программы

На выходе получается исполняемый файл "a.out" или список сообщений об

ошибках.

Задание:
Написать программу, меняющую в файле местами группы байт с 21-го по 28-й и с 33-

го по 40-й. Имя файла вводится в командной строке.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2016, 13:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Поменять в файле местами группы байт (C Linux):

Поменять местами первое слово со вторым - C Linux
Добрый день. Учимся сейчас программировать в UNIX. Такая вот проблема: Задание: поменять местами первое слово со вторым.. 3 и 4 5 и 6...

Поменять местами наибольший и наименьший элементы массива - C Linux
Даны действительные а1 а2 . .... аn. Поменять местами наибольший и наименьший элементы. Help!!! Напишите прошу... Пожалуйста!

Дан текстовый файл. Поменять четные и нечетные строки местами - C Linux
Дан текстовый файл. Поменять четные и нечетные строки местами. Код офрмить на C(Си). Заранее благодарен.

Поменять в файле местами группы байт с N1 по N2 и с N2 по N3 - C (СИ)
доброго дня) требуется Написать программу на СИ, меняющую в файле местами группы байт с N1 по N2 и с N2 по N3. помогите пожалуйста)

Поменять местами первый и последний байт - C++ WinAPI
Есть бинарный файл с записанной в него информацией. Необходимо поменять местами первый и последний байт в этом файле. Как это можно...

В каждом четном числе поменять местами младший байт со старшим - C (СИ)
В каждом четном числе поменять местами младший байт со старшим. После замены определить количество четных чисел. Не могу сделать .

4
nimazzzy
Заблокирован
16.12.2016, 13:53 #2
Цитата Сообщение от Wladua Посмотреть сообщение
не могу сделать одну лабораторную работу
Что именно не получается?
Это задание очень легко делается с помощью функций open, lseek, read, write, close.
0
Evg
Эксперт CАвтор FAQ
18885 / 6841 / 498
Регистрация: 30.03.2009
Сообщений: 19,266
Записей в блоге: 30
16.12.2016, 16:07 #3
Цитата Сообщение от Wladua Посмотреть сообщение
Задание:
Написать программу, меняющую в файле местами группы байт с 21-го по 28-й и с 33-
го по 40-й
Алгоритм примерно такой же, как и в детских загадках
1. Открываем холодильник
2. Вытаскиваем слона
3. Кладём жирафа
4. Закрываем холодильник
0
Wladua
0 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 25
18.12.2016, 21:23  [ТС] #4
В общем такая проблема,я не знаю как написать
0
Humanoid
Почетный модератор
9911 / 3814 / 186
Регистрация: 12.06.2008
Сообщений: 11,287
18.12.2016, 22:32 #5
Цитата Сообщение от Wladua Посмотреть сообщение
В общем такая проблема,я не знаю как написать
Вам выше уже написали, что нужно делать.
Функция open() открывает файл.
Функция lseek() переходит в файле на указанную вами позицию.
Функция read() читает кусок данных из файла.
Функция write() записывает кусок данных в файл.
Функция close() закрывает файл.

Могу предложить вместо lseek/read и lseek/write использовать pread() и pwrite().
Функция pread() читает кусок данных из файла по указанному смещению.
Функция pwrite() записывает кусок данных в файл по указанному смещению.

Порядок действий вам тоже подсказали. Проще говоря: заводите два буфера, открываете файл, читаете в каждый из буферов свою группу байт, записываете первый буфер на место второго, а второй на место первого. Закрываете файл.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2016, 22:32
Привет! Вот еще темы с ответами:

Как в четырехбайтовом числе поменять местами старший и младший байт? - PascalABC.NET
Помогите пожалуйста! Как в четырехбайтовом числе поменять местами старший и младший байт

В одномерном массиве в каждом нечетном числе поменять местами младший байт со старшим - C (СИ)
Здравствуйте всем Задача такая: В одномерном массиве в каждом нечетном числе поменять местами младший байт со старшим. Найти сумму чисел...

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

Поменять местами слова в файле - Turbo Pascal
Нужно написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова. Спасибо, кто...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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