Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Linux Написать под одну персоналку (предпочтительно убунту) Задачу необходимо запрограммировать так, чтобы она работала на одной персоналке в ОС Linux (ASP Linux, Debian, Ubuntu либо аналоги). Задача должна быть написана на языке С. Ребята. добрый день. У меня следующий вопрос, в какой ide пишутся программы на С или они прям в консоли могут быть написаны? И что означает формулировка про одну персоналку? Знаком только с Java и ПХП. Нужно за сутки -... https://www.cyberforum.ru/ cpp-linux/ thread1729610.html C++ Linux разница при использовании С и С++
Здравствуйте. В книгах по системному программированию под Linux примеры приводятся на Си. А если использовать С++, то возможности такие же никаких подводных камней нет?
C++ Linux Ограничение прав дочернего процесса Здравствуйте. Ситуация: есть программа-сервер на C, которая запускает программы-клиенты (не только бинарники, но и java апплеты и python скрипты) и общается с ними с помощью каналов (перенаправив stdin/stdout). Работает он по такой схеме: запускает все клиенты, приостанавливает их; по очереди восстанавливает, обменивается сообщениями и приостанавливает опять. Клиенты уже ограничены в памяти и... https://www.cyberforum.ru/ cpp-linux/ thread1728930.html C++ Linux PID и PPID процессов https://www.cyberforum.ru/ cpp-linux/ thread1728103.html
Программа работает корректно и выводит PID и PPID , но если посмотреть в консоли то процесса с таким PID не будет, как сие реализовать? #include <iostream> #include <unistd.h> #include <sys/types.h> #include <sys/wait.h> using namespace std; int main() {
Нужно подогнать код С++ под С C++ Linux
Здравствуйте. Есть код С++ нужно его переделать под С. С СИ работал очень давно, поэтому уже позабыл. Буду очень благодарен вам, а код очень срочно нужен. #include "stdafx.h" #include <iostream> #include <thread> using namespace std; float number(); float factor(); float expr();
C++ Linux Ошибка компиляции Выполнение работы по линуксу закончилось неудачей. Задача состоит в том что есть некий файл инклуды и библиотеки, нужно написать makefile для компиляции, нашел скорее всего все *.c файлы которые нужны для компиляции но выдает ошибку gcc -L./ -o "factor" factor.o library.o library.o: In function `unicode_to_mb': (.text+0x1d70): undefined reference to `locale_charset' collect2: error: ld... https://www.cyberforum.ru/ cpp-linux/ thread1727796.html
C++ Linux Когда stat() не работает В книге Иванова Н. Н. Программирование в Linux на стр. 209 написано, что функция stat может читать информацию о файлах с любыми правами доступа. Тем не менее, не может. Как в программе, так и не в программе. Я пишу stat file.cpp и мне пишут Permission denied. В чем может быть причина? https://www.cyberforum.ru/ cpp-linux/ thread1727788.html C++ Linux Текстовый редактор с curses и form
Здравствуйте! Задание было написать текстовый редактор с использованием библиотек curses. Сделал в таком виде: #include <curses.h> #include <stdlib.h> #define CTRL(c) ((c) & 037) main (argc, argv) int argc;
C++ Linux Объявление структуры в виде struct stat s Столкнулся со следующей непоняткой. Пытаюсь в коде объявить структуру как stat s; Но таким образом структура почему то не объявляется и пишет ошибку "expected ';' before 's'". Но если написать struct stat s то все вроде ок. Для меня такой способ объявления структуры немного дикий. В то же время структура типа dirent, а точнее указатель на эту структуру объявляется успешно без указание... https://www.cyberforum.ru/ cpp-linux/ thread1727078.html C++ Linux Запуск диспетчера потоков внутри потока линукс Ну и название у темы... Ух... В общем, сабж. Есть самопальная ОС для микроконтролееров. ОС работает в режиме кооперативной вытесняющей многозадачности (тоесть контекст вытесняется тогда, когда исполняемый поток сам попросит об этом). Я хочу запустить эту ОС внутри Линуха. Фактически, для этого, как я считаю, нужно научиться сохранять контекст и мануально перемещать указатель стека... https://www.cyberforum.ru/ cpp-linux/ thread1726202.html
C++ Linux Обработка получения сигналов (sigabrt, sigfpe, sigill, sigint, sigsegv, sigterm)
Написать программу, обрабатывающую получение сигналов (SIGABRT, SIGFPE, SIGILL, SIGINT, SIGSEGV, SIGTERM). Также программа, может возбуждать эти сигналы по указанию пользователя. В качестве обработчика должно быть реализовано логирование (вывод на консоль).
C++ Linux сигналы Создается два процесса, которые обмениваются сигналами, по прошествии нескольких циклов обмена родительский процесс завершается и дочерний создает еще один процесс. После чего обработка сигналов перестает работать. В чем может быть дело? int main(){ currentProcess=0; signal(SIGUSR1, signalProcess); signal(SIGUSR2, signalEndP); return nextiterationprocess(fork()); } https://www.cyberforum.ru/ cpp-linux/ thread1725032.html
205 / 181 / 112
Регистрация: 15.03.2014
Сообщений: 392
08.05.2016, 15:01 0

Написать программу, создающую файл - копию заданного файла. Имена файлов задаются в командной строке - C++ Linux - Ответ 9112995

08.05.2016, 15:01. Показов 3021. Ответов 2
Метки (Все метки)

Ответ

Ваш вопрос сформулирован непонятно. Предлагаю Вам разобраться с двумя приведёнными ниже вариантами копирования файла.

1) Вариант с посимвольным копированием файла.
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
#include <unistd.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>
 
int main( int argc, char * argv[ ] ) {
 
    // проверка количества аргументов
    if ( argc != 3 ) {
        printf( "Error\n" );
        exit( 1 );
    }
 
    char buf; // буфер для символов
 
    // открываем файл на чтение, который будем копировать
    int in = open( argv[ 1 ], O_RDONLY );
    // открываем на запись ( создаём новый при необходимости ) файл В который будем копировать
    int out = open( argv[ 2 ], O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR );
 
    // цикл копирования файла посимвольно
    while ( read( in, &buf, 1 ) == 1 )
        write( out, &buf, 1 );
 
    exit( 0 );
}
2) Вариант с копированием файла блоками.
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
#include <unistd.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>
 
int main( int argc, char * argv[ ] ) {
 
    // проверка количества аргументов
    if ( argc != 3 ) {
        printf( "Error\n" );
        exit( 1 );
    }
 
    char bufBlock[ 1024 ]; // буфер - массив, блок для символов
 
    // открываем файл на чтение, который будем копировать
    int in = open( argv[ 1 ], O_RDONLY );
    // открываем на запись ( создаём новый при необходимости ) файл В который будем копировать
    int out = open( argv[ 2 ], O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR );
 
    // переменная будет запоминать количество действительно прочитанных байтов
    int nread;
    // цикл копирования файла посимвольно
    while ( ( nread = read( in, bufBlock, sizeof( bufBlock ) ) ) > 0 )
        // записываем в файл только то количество байтов из буфера
        write( out, bufBlock, nread ); // которое действительно считали
 
    exit( 0 );
}
Работа с файлами и оба данных варианта описаны в книге Основы программирования в Linux, Нейл Мэттью, Ричард Стоунз, 4-е издание 2009 год. Очень рекомендую к прочтению.

Вернуться к обсуждению:
Написать программу, создающую файл - копию заданного файла. Имена файлов задаются в командной строке C++ Linux
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2016, 15:01
Готовые ответы и решения:

Задать имена файлов в командной строке
Как сделать, чтобы имена файлов задавались в командной строке (первый аргумент - исходный файл,...

Написать программу, создающую файл - копию заданного файла
Написать программу, создающую файл - копию заданного файла. Имена файлов задаются в командной...

Напишите программу конкатенирующую (соединяющую воедино) последовательно несколько файлов. Имена файлов задаются в командной строке
Напишите программу конкатенирующую (соединяющую воедино) последовательно несколько файлов. Имена...

TASM. Копирование указанного файла (имена исходного и результирующего файла задаются в командной строке)
Нашел программу, но не смог добиться работы от нее. Описание: Пример программы (в формате DOS...

2
08.05.2016, 15:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2016, 15:01
Помогаю со студенческими работами здесь

На диске находится файл result.txt. написать программу, создающую копию этого файла с именем copy_resylt.txt
На диске находится файл result.txt. Написать программу, создающую копию этого файла с именем...

Поиск заданного файла в заданной папке (путь и имя файла задаются в командной строке)
Добрый вечер! Как сделать поиск заданного файла в заданной папке(путь и имя файла задаются в...

Разработать программу создающую, копирующую или удаляющую файл, указанный в командной строке
Разработать программу создающую, копирующую или удаляющую файл, указанный в командной строке, в...

Имена входных и выходных файлов задаются через аргументы командной строки
Как программе передать аргументы через командную строку? Приложение консольное. Насколько я...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru