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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Sasha534
0 / 0 / 0
Регистрация: 08.02.2012
Сообщений: 10
#1

Чтение слов из файла - C++

05.08.2012, 01:57. Просмотров 1759. Ответов 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
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <string>
#include <fstream>
#include <iterator>
 
 
using namespace std;
 
int main()
{
  setlocale(LC_ALL, "rus"); 
 
 
    char buff[1024]; 
 
 ifstream fin("test");
 
      if (!fin.is_open()) 
        cout << "Файл не может быть открыт!\n"; 
    else
    {  
  while (fin.getline(buff,1500))
  { 
   
   
   cout << buff << endl;
   
   }
 
    fin.close(); 
  } 
   
  
     
  
 
    system("pause");
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.08.2012, 01:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение слов из файла (C++):

Чтение слов из файла и их обработка - C++
Имеется типизированный файл, элементами которого являются отдельные слова. а) Найти количество слов, начинающихся на букву «м». б)...

Чтение из файла и сортировка слов - C++
здравствуйте. у меня вопрос по задаче 1.89:сортировка слов производить только по буквам или по буквам и по длине?

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

Чтение английского текста из файла,выделение слов и перевод - C++
Всем привет! Есть такая задача: считать из входного файла английский текст,выделить в нем все слова и записать в выходной файл с переводом....

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

Создать список слов из файла и подсчитать количество повторения этих слов - C++
Здравствуйте. Помогите написать такую программу: в файле храниться текст. Нужно составить список слов из этого текста и посчитать частоту...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,849
05.08.2012, 02:28 #2
а че это размер буфера
Цитата Сообщение от Sasha534 Посмотреть сообщение
C++
1
char buff[1024];
у тебя меньше размера считывания
Цитата Сообщение от Sasha534 Посмотреть сообщение
C++
1
while (fin.getline(buff,1500))
переполнение захотел получить?
1
Sasha534
0 / 0 / 0
Регистрация: 08.02.2012
Сообщений: 10
05.08.2012, 02:30  [ТС] #3
Да вижу спасибо, исправил
0
-=ЮрА=-
Заблокирован
Автор FAQ
05.08.2012, 21:11 #4
Sasha534, чтобы не было переполнений нужно юзать std::string
Продолжим наш вчерашний разговор, вот этим кодом
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
#include <string>
#include <fstream>
#include <iostream>
using namespace std;
 
int main()
{
    int pos = 0;//будет содержать позицию найденного слова
    string repl;//будет содеражть слово на которое заменяем
    string move;//бует содеражать вытираемое слово
    string line;//будет содержать текщую строку из файла
    string text;//Будет содеражть текст файла с заменённым словом
    ofstream ofs;//Объявили поток записи
    ifstream ifs("input.txt");//Открыли для чтения
    if (!ifs.is_open())
        cout << "input.txt not open\n"; 
    else
    { 
        while (getline(ifs, line))
        {
            text += line + "\n";//Накапливаем текст файла
            cout << line << endl; 
        }
        ifs.close(); //сюда закрытие потока
        cout<<"Enter word to move : ";cin>>move;
        //Проверяем ситуацию когда хотим заменить несуществующее слово из файла
        if(text.find(move,0) == string::npos)
            cout<<"input.txt not contain word : "<<move<<endl;
        else
        {
            cout<<"Enter word to repl : ";cin>>repl;
            for(pos = text.find(move,0); pos != string::npos;pos = text.find(move,0))
                text.replace(pos,move.length(),repl);//Заменяем слово на нужное
            ofs.open("output.txt");//Я специально не ставил output.txt
            //чтобы было два файла - вход и выход
            //если хотим перезапись просто ставим исходное имя файла т.е. input.txt
            if (!ofs.is_open())
                cout << "output.txt not open\n"; 
            else
            {
                cout<<text<<endl;
                ofs<<text;
                ofs.close();
            }
        }
    }
    system("pause");
    return 0;
}
input.txt
dsjghhdgkhjgf kghj kdgh
dfljhfkj test kdghjfk
251g51fs5h
521b5 test [plg
output.txt
dsjghhdgkhjgf kghj kdgh
dfljhfkj blablabla kdghjfk
251g51fs5h
521b5 blablabla [plg
PS:Для перезаписи input.txt (т.е замены слова в нём) замени название выходного файла с output.txt на input.txt
1
Миниатюры
Чтение слов из файла  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.08.2012, 21:11
Привет! Вот еще темы с ответами:

Чтение из файла. Повторное чтение файла - C++
Добрый день. Необходимо реализовать в программе функцию повторного чтения данных из файла, в случае некорректного ввода их в оный. Вот...

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла. - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include &lt;cstdlib&gt; using namespace std; struct...

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

как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла? - C++
Друзья! Создадим два текстовых файла, f_0.txt и f_1.txt и что-нибудь в них запизаем, например в первый запихаем 1234 а во второй 5678 и...


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

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

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