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

Поиск в файле - C++

Восстановить пароль Регистрация
 
Nikit@
4 / 4 / 1
Регистрация: 19.08.2010
Сообщений: 72
10.07.2011, 16:41     Поиск в файле #1
Всем привет)
Нужно прочитать фаил и вывести все имена в консоль. Но никак не могу сообразить как. Помогите пожалуйста.
Содержимое файла:

n Рома
n Паша
n Игорь

....и т.д. и т.п.

Нужно чтобы он искал все имена начинабщиеся с n [имя]
3аранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2011, 16:41     Поиск в файле
Посмотрите здесь:

поиск в файле C++
Поиск в файле. C++
C++ Поиск в файле
C++ Поиск в файле.
поиск в файле C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Daemon025
 Аватар для Daemon025
380 / 329 / 67
Регистрация: 06.12.2010
Сообщений: 900
10.07.2011, 17:03     Поиск в файле #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
#include <iostream>
#include <fstream>
 
int main()
{
    std::ifstream input("input.txt");
    char buffer[100];
 
    while (input.good())
    {      
        input.getline(buffer, 100);
        if (buffer[0] == 'n' && buffer[1] == ' ') 
        {
            for (int i=0; buffer[i] != '\0'; i++)
                std::cout << buffer[i];
            std::cout << std::endl;
        }
    }
 
    input.close();
 
    return 0;
}
dr.curse
 Аватар для dr.curse
386 / 342 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
10.07.2011, 17:10     Поиск в файле #3
Если правильно понял задачу то так
C++
1
2
3
4
5
char c;
string s;
ifstream fin("file.txt");
while (fin >> c >> s)
    cout << s << endl;
Добавлено через 3 минуты
Ошибся, вот правильное решение
C++
1
2
3
4
5
char c;
string s;
ifstream fin("file.txt");
while (fin >> c >> s)
    if (c=='n') cout << s << endl;
Nikit@
4 / 4 / 1
Регистрация: 19.08.2010
Сообщений: 72
10.07.2011, 21:22  [ТС]     Поиск в файле #4
Цитата Сообщение от Daemon025 Посмотреть сообщение
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>
 
int main()
{
    std::ifstream input("input.txt");
    char buffer[100];
 
    while (input.good())
    {      
        input.getline(buffer, 100);
        if (buffer[0] == 'n' && buffer[1] == ' ') 
        {
            for (int i=0; buffer[i] != '\0'; i++)
                std::cout << buffer[i];
            std::cout << std::endl;
        }
    }
 
    input.close();
 
    return 0;
}
Хмм...ошибок не выдаёт, но ничего не пишет в консоли(
Daemon025
 Аватар для Daemon025
380 / 329 / 67
Регистрация: 06.12.2010
Сообщений: 900
10.07.2011, 22:28     Поиск в файле #5
input.txt:
Код
n asdas
n asdasd
n qweq
ahkj
terminal:
Код
n asdas
n asdasd
n qweq
Yandex
Объявления
10.07.2011, 22:28     Поиск в файле
Ответ Создать тему
Опции темы

Текущее время: 00:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru