Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
50 / 31 / 11
Регистрация: 10.06.2012
Сообщений: 395
1

замена буквы в текстовом файле. с++

25.12.2015, 12:14. Показов 4254. Ответов 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
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
    fstream f("text.txt", ios::in|ios::out|ios::ate);
    
    f.seekg(0);
    f.seekp(0);
    char c;
    while(f.get(c))
    {
        if(c == 'a')
       
            f << 'x';
 
    }
    f.close();
    
 
    return 0;
}
Данный код добавляет в текстовом файле к букве 'а' букву 'х' , а как сделать замену ? Этот вопрос рассматривался на ленте В текстовом файле поменять каждую букву "а" на букву, заданную пользователем .Неужели действительно это невозможно ?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.12.2015, 12:14
Ответы с готовыми решениями:

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

В текстовом файле t записаны буквы латинского алфавита и цифры. Занести в текстовый файл h из текстового файла t только латинские буквы.
В текстовом файле t записаны буквы латинского алфавита и цифры. Занести в текстовый файл h из...

Замена слов в одном текстовом файле словами, записанными в другом текстовом файле
Кто-нибудь пожалуйста приведете пример реализации следующей программы имеются два тектовых файла -...

Программа нахождения количества встречи буквы А и буквы Б в заданном текстовом файле
Написать программу нахождения количества встречи буквы А и буквы Б в заданном текстовом файле....

3
Хитрая блондиночка $)
1464 / 979 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
25.12.2015, 12:21 2
Если нужна замена, то файл нужно открывать как бинарный и работать методами read() и write().
Т.е. в цикле считай в динамический массив символы, в массиве сделай замену и верни в файл.
C++
1
2
3
4
5
6
char *s=new char[n];
f.read(s,n);
for(int i=0;i<n;i++) if(s[i]=='a') s[i]='x';
f.seekg(ios_base::beg,0);
f.write(s,n);
delete[] s;
n - размер файла.
1
50 / 31 / 11
Регистрация: 10.06.2012
Сообщений: 395
25.12.2015, 12:38  [ТС] 3
Hikari, спасибо ,буду разбираться дальше, но пока в общем то все туманно.
0
13 / 6 / 3
Регистрация: 15.10.2015
Сообщений: 19
25.12.2015, 13:59 4
Лучший ответ Сообщение было отмечено sergei60 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <fstream>
#include <windows.h>
 
using namespace std;
 
int main()
    {
    fstream inpt("1.txt",ios_base::in);
    fstream outpt("dout.txt",ios_base::out);
    char c;
    while (inpt.get(c))
           if(c=='A')
                outpt.put('G');
         else outpt.put(c);
    system("pause");    
    return 0;
    }
Добавлено через 28 секунд
Вместо G можешь поставить какую угодно букву
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2015, 13:59

Написать программу нахождения количества встречи буквы А и буквы Б в заданном текстовом файле
Написать программу нахождения количества встречи буквы А и буквы Б в заданном текстовом файле.

Замена значения в текстовом файле
Добрый день! Есть конфигурационный файл в нём содержится строчка NewLine=1000. Как заменить...

Замена символов в текстовом файле
Здравствуйте. Не могу понять как с 1 файла переписать данные во второй. Где и как их нужно...

Замена строки в текстовом файле
Помогите пожалуйста Необходимо написать батник. Находит текст в файле 1.txt. Он может меняться,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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