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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
lexflax
10 / 10 / 1
Регистрация: 03.04.2011
Сообщений: 627
#1

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

02.09.2011, 05:56. Просмотров 849. Ответов 4
Метки нет (Все метки)

Открытие одного текстового файла и создание другого с записью в него информации с первого открытого файла, делал так как знал короче говоря он в создаваемый файл записывает информацию с первого но только первую строчку а не весь текстовый файл, можите подправить чтоб работало, только не полностью переписывать и писать другой листинг а подправить этот чтоб соотвествовало условию , заранее спасибо
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++
#include &quot;StdAfx.h&quot; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int main () { FILE...

Копирование слов из одного файла в другой - C++
Написать программу для автоматического копирования слов из одного файла в другой. Копировать следует только слова, содержащие четное...

Переписать строки с одного текстового файла в другой в обратном порядке - C++
Здравствуйте. Задача следующая : Имеется текстовый файл. Переписать его строки в другой файл. Порядок строк во втором файле должен...

Напечатать последовательно первые буквы всех слов текста (из одного текстового файла в другой) - C++
Йоу,ребят. Программа должна считывать текст из файла и выводить в другой текстовой файл. А задание,собственно,вот. &quot;Напечатать...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
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
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
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++
4225 / 2199 / 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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.09.2011, 14:50
Привет! Вот еще темы с ответами:

Работа с файлами (Скопировать слова из одного текстового файла в другой, расположив их в нем в порядке возрастания длины) - C++
Скопировать слова из одного текстового файла в другой, расположив их в нем в порядке возрастания длины. Помогите пожалуйста с решением.

Перемещение содержимого одного контейнера в другой - C++
Нужно переместить содержимое обьекта vector в обьект list. Подскажите пожалуйста!

Перемещение содержимого из одного байта в другой байт - C++
Здравствуйте все. Есть char A=3; char B=0; Как переместить физическое содержание битов из байта A в байт В, чтобы стало ...

Копирование одного массива в другой - C++
Всем добрый день. Насколько мне известно использование имени массива без индекса образует указатель на первый элемент массива. В программе...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.09.2011, 14:50
Ответ Создать тему
Опции темы

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