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

Обмен содержимым файлов посредством дополнительного файла - C++

Восстановить пароль Регистрация
 
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 405
01.04.2014, 15:11     Обмен содержимым файлов посредством дополнительного файла #1
Здравствуйте. Прошу помощи, потому что нету идей совсем

Даны файлы F1, F2, F3, F4, F5, компоненты которых являются вещественными числами. Организовать обмен компонентами между файлами в соответствии со следующей схемой: F1->F3, F2 ->F4, F3 ->F5, F4 ->F2, F5 ->F1, т. е. компоненты файла F1 переписываются в файл F3, компоненты файла F2 – в F4 и т. д. Разрешается использовать только один вспомогательный файл G.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2014, 15:11     Обмен содержимым файлов посредством дополнительного файла
Посмотрите здесь:

Обмен данными между процессами с помощью файлов, которые отображаются в память C++
C++ Копирование содержимого одного файла в другой посредством командной строки
сравнить переменную типа string с содержимым файла C++
C++ Чтение из файла посредством потоков
Строки резервирование дополнительного места C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
01.04.2014, 15:31     Обмен содержимым файлов посредством дополнительного файла #2
Ну и какие идеи вам нужны ?
создайте физически на компьютере все необходимые файлы и заполните их значениями.
1 файл дополнительный ввиде буфера будет.
найдите пары файлов которые соприкосаютя F1->F3 и F3 ->F5(например)
информацию с F3 записываем в файл G, по том с F1->F3
информацию с F5 записываем в файл G, по том с F3->F5
и т. д.
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 405
01.04.2014, 18:11  [ТС]     Обмен содержимым файлов посредством дополнительного файла #3
А можно как-то в одном цикле читать информацию из файла и записывать в другой?

Добавлено через 1 час 27 минут
Есть вот такой вот код, но проблемы в третьёй строке.

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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstddef>
#include <cmath>
#include <iostream>
using namespace std;
void main()
{
    FILE *F;
    char buf[100];
    /*ifstream a("C:\\100VIDEO\\F1.txt"); ofstream A("C:\\100VIDEO\\F1.txt");
    ifstream b("C:\\100VIDEO\\F2.txt"); ofstream B("C:\\100VIDEO\\F2.txt");
    ifstream c("C:\\100VIDEO\\F3.txt"); ofstream C("C:\\100VIDEO\\F3.txt");
    ifstream d("C:\\100VIDEO\\F4.txt"); ofstream D("C:\\100VIDEO\\F4.txt");
    ifstream e("C:\\100VIDEO\\F5.txt"); ofstream E("C:\\100VIDEO\\F5.txt");
    ifstream f("C:\\100VIDEO\\G.txt");  ofstream F("C:\\100VIDEO\\G.txt");*/
    for(int i=0; i<1; i++)
    { 
        ifstream a("C:\\100VIDEO\\F1.txt"); a>>buf;  ofstream F("C:\\100VIDEO\\G.txt"); F<<buf; cout<<buf<<endl; 
        ifstream c("C:\\100VIDEO\\F3.txt"); c>>buf;  ofstream A("C:\\100VIDEO\\F1.txt"); A<<buf; cout<<buf<<endl;
        ifstream f("C:\\100VIDEO\\G.txt"); f>>buf; cout<<buf<<endl;  ofstream C("C:\\100VIDEO\\F3.txt"); C<<buf; 
    cout<<buf<<endl;
    }
    system("pause");
}
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 405
01.04.2014, 18:39  [ТС]     Обмен содержимым файлов посредством дополнительного файла #4
Здравствуйте. Нужно перезаписать данные из F1 в F3, используя только G в качестве временного файла. Попробовал сделать и ничего не получилось+

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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstddef>
#include <cmath>
#include <iostream>
using namespace std;
void main()
{
    FILE *F1;
    FILE *F2;
    FILE *F3;
    FILE *F4;
    FILE *F5;
    FILE *G;
    int buf[100];
    F1=fopen("C:\\100VIDEO\\F1.txt", "w+"); 
    F2=fopen("C:\\100VIDEO\\F2.txt", "w+"); 
    F3=fopen("C:\\100VIDEO\\F3.txt", "w+"); 
    F4=fopen("C:\\100VIDEO\\F4.txt", "w+"); 
    F5=fopen("C:\\100VIDEO\\F5.txt", "w+"); 
    G=fopen("C:\\100VIDEO\\G.txt", "w+");  
    for(int i=0; i<1; i++)
    { 
    F1>>buf; G<<buf;
    F2>>buf; F1<<buf;
    G>>buf; F2<<buf;
    cout<<buf<<endl;
    }
    system("pause");
}
Добавлено через 8 минут
убрал буффер, но всё равно не работает

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
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstddef>
#include <cmath>
#include <iostream>
#include <conio.h>
using namespace std;
void main(void)
{
    FILE *F1;
    FILE *F2;
    FILE *F3;
    FILE *F4;
    FILE *F5;
    FILE *G;
    F1=fopen("C:\\100VIDEO\\F1.txt", "w+"); 
    F2=fopen("C:\\100VIDEO\\F2.txt", "w+"); 
    F3=fopen("C:\\100VIDEO\\F3.txt", "w+"); 
    F4=fopen("C:\\100VIDEO\\F4.txt", "w+"); 
    F5=fopen("C:\\100VIDEO\\F5.txt", "w+"); 
    G=fopen("C:\\100VIDEO\\G.txt", "w+");  
    for(int i=0; i<1; i++)
    { 
    F1=G;
    F2=F1;
    G=F2;
        }
    system("pause");
}
zss
Модератор
Эксперт С++
 Аватар для zss
5952 / 5557 / 1787
Регистрация: 18.12.2011
Сообщений: 14,202
Завершенные тесты: 1
01.04.2014, 18:47     Обмен содержимым файлов посредством дополнительного файла #5
C++
1
2
3
4
5
char str[256];
 ifstream F1("C:\\100VIDEO\\F1.txt"); 
ofstream F3("C:\\100VIDEO\\F3.txt"); 
while(F1.getline(buf))
       F3<<buf;
user-men
22 / 22 / 8
Регистрация: 17.02.2014
Сообщений: 300
01.04.2014, 18:48     Обмен содержимым файлов посредством дополнительного файла #6
Цитата Сообщение от avatar1870 Посмотреть сообщение
fopen
-это язык си
http://www.cyberforum.ru/c/ - возможно здесь тебе помогут
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2014, 19:43     Обмен содержимым файлов посредством дополнительного файла
Еще ссылки по теме:

C++ Система обновления софта. Как обновить главный исполняемый модуль без дополнительного исполняемого файла?
C++ Обмен содержимым двух текстовых файлов
Преобразовать из дополнительного кода в число C++

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

Или воспользуйтесь поиском по форуму:
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 405
01.04.2014, 19:43  [ТС]     Обмен содержимым файлов посредством дополнительного файла #7
Я пытался так сделать, и всё бы хорошо, но когда пытаешься одновременно открыть и закрыть файл он стирается

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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstddef>
#include <cmath>
#include <iostream>
using namespace std;
void main()
{
      char buf[100];
    /*ifstream a("C:\\100VIDEO\\F1.txt"); ofstream A("C:\\100VIDEO\\F1.txt");
    ifstream b("C:\\100VIDEO\\F2.txt"); ofstream B("C:\\100VIDEO\\F2.txt");
    ifstream c("C:\\100VIDEO\\F3.txt"); ofstream C("C:\\100VIDEO\\F3.txt");
    ifstream d("C:\\100VIDEO\\F4.txt"); ofstream D("C:\\100VIDEO\\F4.txt");
    ifstream e("C:\\100VIDEO\\F5.txt"); ofstream E("C:\\100VIDEO\\F5.txt");
    ifstream f("C:\\100VIDEO\\G.txt");  ofstream F("C:\\100VIDEO\\G.txt");*/
    for(int i=0; i<1; i++)
    { 
        ifstream a("C:\\100VIDEO\\F1.txt"); a>>buf;  ofstream F("C:\\100VIDEO\\G.txt"); F<<buf; cout<<buf<<endl; 
        ifstream c("C:\\100VIDEO\\F3.txt"); c>>buf;  ofstream A("C:\\100VIDEO\\F1.txt"); A<<buf; cout<<buf<<endl;
        ifstream f("C:\\100VIDEO\\G.txt"); f>>buf; cout<<buf<<endl;  ofstream C("C:\\100VIDEO\\F3.txt"); C<<buf; 
    cout<<buf<<endl;
    }
    system("pause");
}
Добавлено через 1 минуту
И можно как-то на с++ открыть для одновременной записи\чтения?

Добавлено через 20 минут
Последний вариант

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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstddef>
#include <cmath>
#include <iostream>
using namespace std;
void main()
{
    char buf[100];
    fstream a("C:\\100VIDEO\\F1.txt"); 
    fstream b("C:\\100VIDEO\\F2.txt"); 
    fstream c("C:\\100VIDEO\\F3.txt"); 
    fstream d("C:\\100VIDEO\\F4.txt");
    fstream e("C:\\100VIDEO\\F5.txt"); 
    fstream f("C:\\100VIDEO\\G.txt");  
    for(int i=0; i<3; i++)
    { 
         a>>buf;   f<<buf; cout<<buf<<endl; 
         c>>buf;    a<<buf; cout<<buf<<endl; cout.flush();
       f>>buf;    c<<buf; cout<<buf<<endl;cout.flush();
    cout<<buf<<endl;
    }
    system("pause");
}
Добавлено через 29 минут
Что-то не хочет работать

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
// lab_17.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}
 
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstddef>
#include <cmath>
#include <iostream>
using namespace std;
void main()
{
    char buf[100];
    fstream a("F1.txt"); 
    fstream b("F2.txt"); 
    fstream c("F3.txt"); 
    fstream d("F4.txt");
    fstream e("F5.txt"); 
    fstream f("G.txt");  
    for(int i=0; i<1; i++)
    { 
         a>>buf;     cout<<buf<<endl;    f<<buf; 
         c>>buf;    a<<buf; cout<<buf<<endl;
         f>>buf;    c<<buf; cout<<buf<<endl;
        }
    system("pause");
}
Yandex
Объявления
01.04.2014, 19:43     Обмен содержимым файлов посредством дополнительного файла
Ответ Создать тему
Опции темы

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