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

Копирование содержимого одного текстового файла в другой - C++

Восстановить пароль Регистрация
 
lexflax
10 / 10 / 1
Регистрация: 03.04.2011
Сообщений: 627
02.09.2011, 05:56     Копирование содержимого одного текстового файла в другой #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
#pragma argsused
# include <iostream>              // класс для работы с вводом-выводом
# include <fstream>
#include <conio.h>        // класс для работы с файлом
# include <string>            // класс для работы со строками
//-------------------Код программы для первой задачи----------
void main()
{
    using namespace std;
    string st;
    cout << "enter name files:" <<endl;
    char name[10];
    cout << "enter name two files"<<endl;
    char name1[11];
    cin >> name;
    ifstream inf(name);
    cin >> name1;
    ofstream dd(name1);
    getline (inf,st);
    dd << st <<endl;
    dd.close();
    cout << "dla vihoda nagmite lubuy klavichu";
    getch (); }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.09.2011, 05:56     Копирование содержимого одного текстового файла в другой
Посмотрите здесь:

C++ Копирование содержимого одного файла в другой посредством командной строки
Копирование одного раздела в другой C++
C++ Копирование одного массива в другой
Копирование содержимого текстового файла C++
Работа с файлами (Скопировать слова из одного текстового файла в другой, расположив их в нем в порядке возрастания длины) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
02.09.2011, 06:54     Копирование содержимого одного текстового файла в другой #2
Так ты считываешь только первую строчку.
lexflax
10 / 10 / 1
Регистрация: 03.04.2011
Сообщений: 627
02.09.2011, 10:07  [ТС]     Копирование содержимого одного текстового файла в другой #3
Сам переделал все получилось вот листинг, теперь надо чтоб это была как бы процедура ну тоесть чтоб вызывалось как процедура, можите помочь ее переделать чтоб был примерно тот же листинг только в процедуру оформленный?
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
#pragma argsused
# include <iostream>              // класс для работы с вводом-выводом
# include <fstream>
#include <conio.h>        // класс для работы с файлом
# include <string>            // класс для работы со строками
//-------------------Код программы для первой задачи----------
void main()
{
    using namespace std;
    string st;
    cout << "enter name files:" <<endl;
    char name[10];
    cout << "enter name two files"<<endl;
    char name1[11];
    cin >> name;
    ifstream inf(name);
    cin >> name1;
    ofstream dd(name1);
    int i=0;
    while (!inf.eof())
    {getline (inf,st);
       st[i];
    dd << st <<endl;}
    dd.close();
    cout << "dla vihoda nagmite lubuy klavichu";
    getch (); }
 Комментарий модератора 
Используйте теги форматирования!
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
02.09.2011, 11:40     Копирование содержимого одного текстового файла в другой #4
Цитата Сообщение от lexflax Посмотреть сообщение
C++
1
2
3
4
5
int i=0;
 while (!inf.eof())
 {getline (inf,st);
 st[i];
 dd << st <<endl;}
Проверка флагов состояния должна выполняться после чтения, а не до.
C++
1
2
3
4
5
6
7
while (true)
{
   getline(inf, st);
   if (inf.eof())
      break;
   dd << st << endl;
}

Цитата Сообщение от lexflax Посмотреть сообщение
теперь надо чтоб это была как бы процедура
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
47
48
49
50
51
52
53
54
55
int CopyFile(char *fileNameOut, char *fileNameIn)
{
   ifstream fileIn;
 
   fileIn.open(fileNameIn);
   if (!fileIn.is_open())
      return 1;
 
   ofstram fileOut;
   
   fileOut.open(fileNameOut);
   if (!fileOut.is_open())
      return 2;
 
   string str;
 
   while (true)
   {
      getline(fileIn, str);
      if (fileIn.eof())
         break;
      fileOut << str << endl;
   }
   
   return 0;
}
 
int main(int argc, char* argv[])
{
   char fNameIn[25];
   char fNameOut[25];
   int res;
 
   cout << "Enter the input file name: ";
   cin >> fNameIn;
   cout << "Enter the output file name: ";
   cin >> fNameOut;
 
   res = CopyFile(fNameOut, fNameIn);
   
   switch (res)
   {
      case 0:
         cout << "The programm successful complete!" << endl;
         break;
      case 1:
         cout << "Can not open the input file." << endl;
         break;
      case 2:
         cout << "Can not open the output file." << endl;
         break;
   }
   
   return 0; 
}
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
02.09.2011, 14:50     Копирование содержимого одного текстового файла в другой #5
Можно прописать функцию копирования произвольных файлов:

функция

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int CopyFile(const char *fileNameIn, const char *fileNameOut)
{
   FILE *in, *out;
   char buffer[BUFSIZ];
   long n;
   in = fopen(fileNameIn, "rb");
   out = fopen(fileNameOut, "wb");
   if (in == NULL || out == NULL)
   {
      fclose(in);
      fclose(out);
      return 1;
   }
   while (n = fread(buffer, sizeof(char), BUFSIZ, in))
        fwrite(buffer, sizeof(char), n, out);
   fclose(in);
   fclose(out);
   return 0;
}
Yandex
Объявления
02.09.2011, 14:50     Копирование содержимого одного текстового файла в другой
Ответ Создать тему
Опции темы

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