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

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

Войти
Регистрация
Восстановить пароль
 
Dodje
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 8
#1

Скопировать текстовый файл в новый файл, заменив в каждой строке слова «ok» на «*» - C++

17.10.2012, 22:16. Просмотров 812. Ответов 3
Метки нет (Все метки)

Прошу помочь с задачей.Теории не было, сразу практика.Должны своими мозгами , но моих не хватает.
Это последняя задача и завтра зачет.=/

Задание: Скопировать текстовый файл в новый файл, заменив в каждой строке слова «ok» на «*», и оставляя пустую строку после каждых трех строк.


То, что я сделал.
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
#include<stdio.h>
#include<conio.h>
#define FNAME "E:\\text.txt\0"
void main()
{
  clrscr();
 
  char fname[25]  = FNAME;
  FILE *out;
  char *s,str[80];
  int k,q;
 
  printf("\n‘®¤??¦**?? ?*©«* %s\n",fname);
  puts("-------------------------------");
 
  if((out = fopen(fname, "rt")) == NULL)
  {
    printf("?????* ®??????? ?*«* ¤«? ???*??");
    getch();
    return;
  }
  q=0;
 
  while (!feof(out))
  {
    fgets(s,80,out);
    q++;
    k=q;
    if ((q % 3) == 0)
      {
    s[q+1]=' ';
      }
    printf("%s",s);
  }
  fclose(out);
  puts("\n---------------------------");
  printf("\nq= %d", q);
  puts("\n---------------------------\n");
  //printf("%s",s);
  getch();
}
Добавлено через 32 минуты
Тема очень очень очень актуальна.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2012, 22:16     Скопировать текстовый файл в новый файл, заменив в каждой строке слова «ok» на «*»
Посмотрите здесь:

Скопировать второе слово из каждой строки и вставить их в новый текстовый файл - C++
Добрый вечер, помогите, пожалуйста, в реализации простенькой программы: На входе .txt файл, в котором некое множество строк, состоящих...

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

Дан текстовый файл. Заменить окончание ing каждого слова, встречающегося в заданном предложении на ED и сохранить результат в новый файл. - C++
Всем вечер добрый. Хотелось бы, чтоб кто-нибудь помог с прогой. Её текст ниже: Дан текстовый файл. Заменить окончание ing каждого...

Дан текстовый файл. Переписать компоненты файла в другой файл, заменив при этом каждое сочетание букв “no” на “on” - C++
Дан текстовый файл. Переписать компоненты файла в другой файл, заменив при этом каждое сочетание букв “no” на “on”. :( Помогите,...

Открыть текстовый файл и удалить 11 последних символов на каждой строке - C++
Помогите пожалуйста. Нужно открыть текстовый файл и удалить 11 последних символов на каждой строке.

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
3144 / 1946 / 214
Регистрация: 13.01.2012
Сообщений: 7,438
17.10.2012, 23:07     Скопировать текстовый файл в новый файл, заменив в каждой строке слова «ok» на «*» #2
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
56
57
58
59
60
61
62
63
64
#include <fstream>
#include <iostream>
#include <string>
 
using namespace std;
 
void replace(string * const s, const string &find, const string &replace)
{
    int pos = s->find(find);
    while (pos != string::npos)
    {
        s->replace(pos, find.length(), replace);
        pos = s->find(find, pos + replace.length());
    }
}
 
void main(void)
{
    string in_file_name;
    cout << "in_file_name>";
    cin >> in_file_name;
 
    string out_file_name;
    cout << "out_file_name>";
    cin >> out_file_name;
 
    if (in_file_name == out_file_name)
    {
        cout << "error: in_file_name = out_file_name" << in_file_name.c_str() << endl;
        system("pause");
        return;
    }
 
    ifstream in(in_file_name.c_str());
    if (!in)
    {
        cout << "error: can not open file " << in_file_name.c_str() << endl;
        system("pause");
        return;
    }
 
    ofstream out(out_file_name.c_str());
    if (!out)
    {
        cout << "error: can not create file " << out_file_name.c_str() << endl;
        system("pause");
        return;
    }
 
    int idx = 0;
 
    while (!in.eof())
    {
        string line;
        getline(in, line);
        replace(&line, "ok", "*");
        out << line << endl;
        idx++;
        if (!(idx % 3)) out << endl;
    }
 
    in.close();
    out.close();
}
Dodje
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 8
17.10.2012, 23:29  [ТС]     Скопировать текстовый файл в новый файл, заменив в каждой строке слова «ok» на «*» #3
Какую-то ошибку выдает.Но спасибо, буду обдумывать,что вы написали.

Добавлено через 1 минуту
И по-моему немного не тот язык.
Мы работает через Borland c++
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2012, 00:53     Скопировать текстовый файл в новый файл, заменив в каждой строке слова «ok» на «*»
Еще ссылки по теме:

Открыть существующий текстовый файл и копировать его в новый файл, с заменой всех букв нижнего регистра - C++
напишите программу, которая бы открывала существующий текстовый файл и копировала его в новый файл, с заменой всех букв нижнего регистра на...

Дан текстовый файл с действительными числами. Найти сумму его элементов с четными номерами и записать в новый файл - C++
Дан текстовый файл с действительными числами. Найти сумму его элементов с четными номерами и записать в новый файл. Помогите пожалуйста...

Дан текстовый файл, в котором записана последовательность целых чисел. Записать в новый файл только четные из них - C++
Дан текстовый файл, в котором записана последовательность целых чисел. Записать в новый файл только четные из них. Помогите пожалуста!!! ...

Переписать текстовый файл, заменив все символы 0 на 1 - C++
Дан текстовый файл, переписать его во второй файл заменив все символы 0 на 1, а 1 на 0.

Текстовый файл состоит из нескольких строк. Записать во второй файл последние символы из каждой строки первого файла - C++
Текстовый файл состоит из нескольких строк. Записать во второй файл последние символы из каждой строки первого файла. === Помогите,...

Переписать все строки в новый файл, заменив пробелы на запятые - C++
2. Переписать все строки в новый файл, заменив пробелы на запятые. кто может помочь? кому не сложно


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

Или воспользуйтесь поиском по форуму:
vxg
Модератор
3144 / 1946 / 214
Регистрация: 13.01.2012
Сообщений: 7,438
18.10.2012, 00:53     Скопировать текстовый файл в новый файл, заменив в каждой строке слова «ok» на «*» #4
как бы вам сказать - я этот код копировал прямо из среды borland c++ builder 6 и он отлично собирается и отрабатывает на экспериментальном файле так что я затрудняюсь сказать что именно у вас там барахлит, ошибку хотя бы скажите. как вариант - создан проект оконного приложения или приложения на си, а код приведен для консольного приложения на си++.
Yandex
Объявления
18.10.2012, 00:53     Скопировать текстовый файл в новый файл, заменив в каждой строке слова «ok» на «*»
Ответ Создать тему
Опции темы

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