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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевести Unicode строку в ANSI http://www.cyberforum.ru/cpp-beginners/thread324171.html
char label_ansi; wchar_t label_wide; sprintf_s (label_ansi, "%ls", label_wide); // работает, но если и когда появляется не-ascii символ - строке капут наступает if( strstr( label_ansi, "mytest" ) != NULL ) { found = true; }
C++ Двунаправленный список Если кто может, помогите пожалуйста написать метод(Удалить из списка все узлы, расположенные перед элементами с четными значениями!Программа выводит список с начала и с конца. #ifndef NODE_H #define NODE_H template <class Type> class list; template <class Type> class node http://www.cyberforum.ru/cpp-beginners/thread324169.html
Книга по С C++
Подскажите книгу (учебник) в котором бы хорошо описывалось как писать программы с визуализацией, тоесть использовать Windows Forms Application. А то я сам пробовал и не совсем понимал что да как.:wall: Заранее спасибо
C++ Змейка в С
Доброй ночи всем. Подскажите пожалуйста как можно написать игру змейку в консольном окне на С? 3аранее спасибо
C++ Программа на табулирование функции) http://www.cyberforum.ru/cpp-beginners/thread324149.html
Составить иерархию классов, эл-ты которой решают задачу табулирования функции(ln(x)) Базовый класс абстрактный. Включает методы: ввода исходных данных, вывода результата табулирования на текущем шаге, табулирования функции + чистая виртуальная функция для вычисления таб-yия функции. Производный класс содержит метод определения таб-ния функции. С помощью производного класса решить задачу...
C++ Русский текст в консоли (не одно и то же) Здравствуйте. В прикрепленной выше темке нашел вот такую программу: #include<iostream.h> #include<cmath> #include<windows.h> #include <conio.h> char bufRus; подробнее

Показать сообщение отдельно
Aizent
1 / 1 / 0
Регистрация: 15.04.2011
Сообщений: 28

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

23.06.2011, 00:18. Просмотров 594. Ответов 3
Метки (Все метки)

Здравствуйте!Прошу помочь...
такая задача : Даны два текстовых файла с именами 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();   
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru