Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
expower1994
0 / 0 / 0
Регистрация: 07.10.2012
Сообщений: 3
1

Создать файл, являющийся результатом конкатенации (слияния) других файлов

07.10.2012, 15:23. Просмотров 751. Ответов 3
Метки нет (Все метки)

Смысл программы Ω Создать файл, являющийся результатом конкатенации (слияния) других файлов. Имя файла-результата и имена соединяемых файлов задаются пользователем. язык (Си) Ω
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2012, 15:23
Ответы с готовыми решениями:

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

Создать новый текстовый файл, являющийся объединением содержимого исходных файлов
Смысл программы Ω Создать файл, являющийся результатом конкатенации (слияния) других файлов. Имя...

Файлы. Создать новый текстовый файл, являющийся объединением содержимого исходных файлов
Помогите пожалуйсто с программой 1.Даны два текстовых файла с именами Name1 и Name2. Создать новый...

Создать новый текстовый файл с именем Name3, являющийся объединением содержимого файлов Name1 и Name2
Даны два текстовых файла с именем Name1 и Name2, созданные заранее в редакторе Блокнот. Создать...

Создать файл с уникальными значениями из двух других файлов
Суть задачи такая , у нас есть два текстовых файла text.txt и text_1.txt в первом текстовом файле...

3
Кот Ангенс
318 / 268 / 128
Регистрация: 24.05.2012
Сообщений: 629
07.10.2012, 16:37 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
31
32
33
#include <stdio.h>
#include <stdlib.h>
 
enum { BUFFER_SIZE = 10 };
 
void read_str(char* s) {
    unsigned i = 0, sz = BUFFER_SIZE;
    while ((s[i] = getchar()) != '\n')
        if (++i == sz)
            s = (char*)realloc(s, (sz += BUFFER_SIZE) * sizeof(char));
    s[i] = '\0';
}
 
int main() {
    char* s = (char*)malloc(BUFFER_SIZE * sizeof(char));
    FILE* in;
    FILE* out;
    short c;
    read_str(s);
    out = fopen(s, "w");
    read_str(s);
    in = fopen(s, "r");
    read_str(s);
    while ((c = getc(in)) != EOF)
        putc(c, out);
    fclose(in);
    in = fopen(s, "r");
    while ((c = getc(in)) != EOF)
        putc(c, out);
    fclose(in);
    fclose(out);
    free(s);
}
1
expower1994
0 / 0 / 0
Регистрация: 07.10.2012
Сообщений: 3
07.10.2012, 16:45  [ТС] 3
я недавно начал изучать Си в университете , я умею работать с массивами , файлами , строками . Сможешь переделать программу под знания выше указанные .


заранее спасибо!
0
Nameless One
Эксперт С++
5789 / 3438 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
08.10.2012, 07:29 4
expower1994, там и так массивы, файлы, строки. Ничего переделывать не надо. Разве что динамическое выделение памяти не нужно.

Вот попроще:

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
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char *argv[])
{
    FILE *out;
    int i;
    
    if(argc < 3)
    {
        fprintf(stderr,
                "Usage: %s INPUTFILE... OUTPUTFILE\n",
                argv[0]);
        exit(EXIT_FAILURE);
    }
 
    if((out = fopen(argv[argc - 1], "w")) == NULL)
    {
        perror(argv[argc - 1]);
        exit(EXIT_FAILURE);
    }
 
    for(i = 1; i < argc - 1; ++i)
    {
        char buf[BUFSIZ];
        FILE *in = fopen(argv[i], "r");
        
        if(in == NULL)
        {
            perror(argv[i]);
            continue;
        }
        
        while(fgets(buf, BUFSIZ, in) != NULL)
            if(fputs(buf, out) == EOF)
                perror(argv[argc - 1]);
 
        if(ferror(in))
            perror(argv[i]);
        
        fclose(in);
    }
    
    fclose(out);
    exit(EXIT_SUCCESS);
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2012, 07:29

Составить функцию конкатенации (слияния) двух строк
Задание 3. Составить функцию конкатенации (слияния) двух строк. В основной программе использовать...

Составить функцию конкатенации (слияния) двух строк
составить функцию конкатенации (слияния) двух строк.в основной програме использовать эту функцию...

Составить массив, являющийся результатом "побитового" выполнения над двумя массивам операции XOR
Пользователем вводится два массива одинаковой длины,,каждый из которых содержит символ 0 или 1. ...


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

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

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