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

как считать весь файл ? - C++

Восстановить пароль Регистрация
 
Vitaly_
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 60
20.04.2013, 17:58     как считать весь файл ? #1
C++
1
2
3
4
5
6
char buff[50];
    ifstream fin("/Users/Vitaly/Desktop/laba2/laba2/list.txt",ios_base::in);
    
    fin>>buff,50;
    cout<<buff;
    fin.close();
Эта программа считутет первое слово , если я напишу
fin.getline(buff,50), то программа считает первую строку в 50 символов , Вопрос : Как считать файл в котором n строк ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4925 / 2668 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
20.04.2013, 18:03     как считать весь файл ? #2
Vitaly_, в цикле
C++
1
while(!fin.eof()) { ... }
Vitaly_
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 60
20.04.2013, 18:39  [ТС]     как считать весь файл ? #3
А как сделать
1)Поиск в этом файле , вот я считал файл в переменную buff, как мне сделать поиск в по нему , то бишь я создаю еще одну переменную , допустим b, ввожу ее с клавиатуры и как мне сделать чтобы b нашло/искало в buff ?
2)Если нашло это слово допустим в 4й строке , как мне вывести начало этой самой строки или работать с этой самой 4й строкой ?
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
20.04.2013, 18:55     как считать весь файл ? #4
В переменную за раз путем getline() можно считать только строку. Т.е. в итоге после цикла у Вас в buff будет храниться последняя строка файла.
1) В случае массива char можно использовать strstr(buff, b);
Vitaly_
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 60
20.04.2013, 19:04  [ТС]     как считать весь файл ? #5
Вот так ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 char buff[255];
    ifstream fin("/Users/Vitaly/Desktop/laba2/laba2/list.txt",ios_base::in);
    
    while(!fin.eof()){
        fin>>buff;
        cout<<buff;
    }
    
    char b[255];
    cin>>b;
    strstr(buff, b);
    printf(strstr(buff, b));
    
    fin.close();
    system("pause");
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
20.04.2013, 19:09     как считать весь файл ? #6
Не совсем. strstr возвращает указатель. Она нужна лишь для проверки вхождения b в buff.
Будет что-то типа
C++
1
2
3
4
if (strstr(buff, b))
{
 // b входит в buff и строка buff - как раз та самая и с ней можно работать (Ваш пункт 2).
}
Vitaly_
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 60
20.04.2013, 19:11  [ТС]     как считать весь файл ? #7
иными словами , программа ищет b и когда находит его в buff , то работает уже с той строкой где b?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2013, 19:13     как считать весь файл ?
Еще ссылки по теме:

Как считать файл с табличкой? C++
Как считать файл построчно записывая в другой файл? C++
C++ Как записать весь текст в файл

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

Или воспользуйтесь поиском по форуму:
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
20.04.2013, 19:13     как считать весь файл ? #8
...то Вы работаете со строкой, программе она не нужна
Yandex
Объявления
20.04.2013, 19:13     как считать весь файл ?
Ответ Создать тему
Опции темы

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