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

Работа с фаилами - C++

Восстановить пароль Регистрация
 
Aizent
1 / 1 / 0
Регистрация: 15.04.2011
Сообщений: 28
23.06.2011, 00:18     Работа с фаилами #1
Здравствуйте!Прошу помочь...
такая задача : Даны два текстовых файла с именами Name1 и Name2. Добавить в начало1|конец2 каждой строки файла Name1 соответствующую строку файла Name2. Если файл Name2 короче файла Name1, то оставшиеся строки файла Name1 не изменять. Даны два текстовых файла с именами Name1 и Name2. Добавить в начало1|конец2 каждой строки файла Name1 соответствующую строку файла Name2. Если файл Name2 короче файла Name1, то оставшиеся строки файла Name1 не изменять

сделал ее с потоками
вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int main(){
    system("chcp 1251"); //для русского
    string buf,buf2;
 ifstream out("name2.txt");
 ifstream out1("name1.txt");
 ofstream in("name1.txt",ios::app);  
  
  while (!out1.eof() && !out.eof()){
  getline(out1,buf);
  cout<<"Первая строка:"<<buf<<endl;
  getline(out,buf2);
  cout<<"Вторая строка:"<<buf2<<endl;
  cout<<"Результат:"<<(buf + buf2)<<endl;
   in<<"\r\n"<<(buf + buf2)<<"\r\n";}
  cout<<"Запись завершена!";
    in.close();
    out.close();
    out1.close();
 getch();   
}
надо сделать так чтобы фаил name1 не дополнялся,а перезаписывался.
но,если поменять режим на ios::out то после первого прохождения цикла данные из фаила удаляются

Добавлено через 20 часов 33 минуты
сделал ее с помощью временного фаила
вот код,если кому-нибудь понадобится
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
#include<iostream>
#include<conio.h>
#include<stdio.h>
#include<fstream>
#include<string>
#include<windows.h>
using namespace std;
int main(){
    system("chcp 1251");
    string buf,buf2 ;
    string s;
 ifstream out("2.txt");
 ifstream out1("1.txt");
 ofstream in("1.txt",ios::app);
 ofstream in1("3.txt",ios::out);  
 
  
  while (!out1.eof() && !out.eof()){
  getline(out1,buf);
  cout<<"Строка из первого фаила:"<<buf<<endl;
  getline(out,buf2);
  cout<<"Строка из второго фаила:"<<buf2<<endl;
  cout<<"Результат:"<<(buf + buf2)<<endl; 
  cout<<"Передача в фаил...(для продолжения нажмите Enter)"<<endl;
   getch(); 
  in1<<(buf + buf2)<<"\r\n";}
    in.close();
    out.close();
    out1.close();
    in1.close();
    int result;
     remove( "1.txt" );
    char oldname[] ="3.txt";
 char newname[] ="1.txt";
  result= rename( oldname , newname );
   
  cout<<"Запись завершена!";
  
 getch();   
}
Добавлено через 19 секунд
сделал ее с помощью временного фаила
вот код,если кому-нибудь понадобится
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
#include<iostream>
#include<conio.h>
#include<stdio.h>
#include<fstream>
#include<string>
#include<windows.h>
using namespace std;
int main(){
    system("chcp 1251");
    string buf,buf2 ;
    string s;
 ifstream out("2.txt");
 ifstream out1("1.txt");
 ofstream in("1.txt",ios::app);
 ofstream in1("3.txt",ios::out);  
 
  
  while (!out1.eof() && !out.eof()){
  getline(out1,buf);
  cout<<"Строка из первого фаила:"<<buf<<endl;
  getline(out,buf2);
  cout<<"Строка из второго фаила:"<<buf2<<endl;
  cout<<"Результат:"<<(buf + buf2)<<endl; 
  cout<<"Передача в фаил...(для продолжения нажмите Enter)"<<endl;
   getch(); 
  in1<<(buf + buf2)<<"\r\n";}
    in.close();
    out.close();
    out1.close();
    in1.close();
    int result;
     remove( "1.txt" );
    char oldname[] ="3.txt";
 char newname[] ="1.txt";
  result= rename( oldname , newname );
   
  cout<<"Запись завершена!";
  
 getch();   
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2011, 00:18     Работа с фаилами
Посмотрите здесь:

C++ Problema с работой с фаилами и параметрами

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
23.06.2011, 03:34     Работа с фаилами #2
Цитата Сообщение от Aizent
такая задача : Даны два текстовых файла с именами Name1 и Name2.
дальше непонятно
Aizent
1 / 1 / 0
Регистрация: 15.04.2011
Сообщений: 28
23.06.2011, 11:42  [ТС]     Работа с фаилами #3
Даны два текстовых файла с именами Name1 и Name2. Добавить в начало ИЛИ конец каждой строки файла Name1 соответствующую строку файла Name2. Если файл Name2 короче файла Name1, то оставшиеся строки файла Name1 не изменять.
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
24.06.2011, 02:43     Работа с фаилами #4
склеивает файлы построчно, первый файл главнее (результат содержит все его данные)
Вложения
Тип файла: zip catlines.zip (1.0 Кб, 13 просмотров)
Yandex
Объявления
24.06.2011, 02:43     Работа с фаилами
Ответ Создать тему
Опции темы

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