2016-10-18 2 views
-2

Итак, я новичок в C++, и у меня проблемы с программой. Я пытаюсь выполнить поиск по файлу, а затем найти первое появление всех 26 букв в верхнем регистре (A, B, C ...), а также строчные буквы (a, b, c, d ...). Я работал с кодом и понял, что было бы проще взять файл и создать его в вектор, а затем пройти через вектор и найти первый экземпляр каждой буквы. Вот пример моего кода.Найти письма из текстового файла

int main() 
{ 
    int i; 
    string file = input; // User inputted file 
    vector<string> v; 
    ifstream ist{ file }; 
    if (!ist) 
     error("Can not open inputed file ", file); 
    while (!ist.eof()) 
    { 
     string x; 
     ist >> x; 
     v.push_back(x); // Creates a string vector that is filled with everything 
     // in the file 
    } 
    // Find A in text. 
    vector<int> location; 
    location = find(v.begin(), v.end(), 'A'); 
    if (location != v.end()) 
     cout << "Found A at location " << location; 
    else 
cout << "A was not found" 

Я смог успешно извлечь вектор v, и он был заполнен тем, что внутри файла. Областью проблем является то, как можно получить местоположение буквы из вектора строки. Мне все еще нужно C++, поэтому я могу подойти к проблеме, все неправильно. Если бы вы могли помочь мне, это было бы здорово. Благодарю.

+1

Пожалуйста отправьте весь ваш код – amanuel2

+2

Правильный инструмент для решения таких проблем является ваш отладчик. Перед тем, как просить о переполнении стека, вы должны пропустить свой код по очереди *. Для получения дополнительной информации, пожалуйста, прочтите [Как отлаживать небольшие программы (Эрик Липперт)] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/). Как минимум, вы должны \ [изменить] ваш вопрос, чтобы включить пример [Минимальный, полный и проверенный] (http://stackoverflow.com/help/mcve), который воспроизводит вашу проблему, а также замечания, сделанные вами в отладчик. –

+1

@ πάνταῥεῖ: Правильный инструмент здесь хороший вводный [книга] (http://stackoverflow.com/q/388242/1889329). Если вы напишете 'vector ', чтобы обозначить * «последовательность символов» *, вам действительно нужно получить основы прямо. На этом этапе отладчик не собирается помогать. – IInspectable

ответ

0

Ваш вектор v содержит все строки из файла, в то время как вы ищете письмо.

vector<char> делают v и читать один символ

Смежные вопросы