0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 27
1

Функция считывания слов с текстового файла

28.01.2018, 19:00. Показов 561. Ответов 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
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
65
66
#include<iostream>
#include<fstream>
#include<cstdlib>
#include<cstring>
using namespace std;
 
void SLOVAvMASSIV (string word, string array[], int count);
int main()
{
    setlocale(0, "");
    
    char filename[] = "Новый текстовый документ.txt";
    
        ifstream fin;
        fin.open(filename);
        if (!fin.is_open())
        {
            cout<<"Ошибка открытия файла!"<<endl;
        }
        else
        {
            const int N=1000;
            string words[N];
            string leksema;
            int i, Count=0;
            
            while(!fin.eof())
            {   
                fin>>leksema;
                SLOVAvMASSIV(leksema, words, Count);
                Count++; //можно ли наращивать счетчик в этом случае??? 
            }
            fin.close();
        }
    system("pause");
    return 0;
}
 
void SLOVAvMASSIV(string word, string array[], int count) // не инициализирую count, как правильно сделать?
{
    int l = word.length();
    int i;      
    
    if(l==1)
    {
        if (isalpha(word[0]))
        {
        array[count]=word;
        }
        else
        {
        word.erase();
        }
    }   
    else
    {
        string str;
        for (i=0; i<l; i++)
        {
        if(!isalpha(word[i])) break;
        str[i]=word[i]; 
        }
        word.erase(i, l-i);                     
        array[count]=word;
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.01.2018, 19:00
Ответы с готовыми решениями:

Сохранение и считывания списка с текстового файла
Всем привет! Ребята я делаю программу по работе со списками и она уже почти готова, по сути всё...

Функция считывания из текстового файла
Здравствуйте, написал функцию, работает некорректно, может слишком долго работаю, но не вижу в чем...

Цикл считывания и использования строк из текстового файла
Есть программа добавления пользователей в группы из текстового файла, в файле в строке находятся...

Выбор текстового файла для считывания из него
Здравствуйте! Подскажите, пожалуйста, каким образом можно открыть нужный файл (на форме) для...

1
Модератор
Эксперт С++
12756 / 10218 / 6142
Регистрация: 18.12.2011
Сообщений: 27,357
28.01.2018, 19:39 2
Цитата Сообщение от Aleksandr117 Посмотреть сообщение
fin>>leksema;
Уже читает только ОДНО слово.
C++
1
2
3
4
while(fin>>words[count] && count<1000)
{   
    count++;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2018, 19:39
Помогаю со студенческими работами здесь

Замена слов одного текстового файла словами из другого текстового файла
Даны два текстовых файла f1 и f2. Файл f1 содержит произвольный текст. Слова в тексте разделены...

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

Программа считывания литерной матрицы из текстового файла не выходит из цикла
Доброго времени суток. Программа считывания литерной матрицы из текстового файла не выходит из...

Создание в debug текстового файла для считывания шестнадцатеричных значений
Добрый день, волнует вопрос как создать файл, с которого можно было бы считать шестнадцатеричные...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru