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

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

Войти
Регистрация
Восстановить пароль
 
Vitaly_
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 60
#1

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

20.04.2013, 17:58. Просмотров 947. Ответов 7
Метки нет (Все метки)

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
Модератор
Эксперт CЭксперт С++
7168 / 4334 / 633
Регистрация: 29.11.2010
Сообщений: 11,781
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
4286 / 1408 / 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
4286 / 1408 / 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++
Как побайтово считать Wav файл? C++
C++ Подскажите как побайтно считать файл
C++ Как правильно считать и записать в файл
C++ Как считать файл до конца вместе '\n' ?

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

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

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