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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Antojkee
0 / 0 / 0
Регистрация: 14.12.2011
Сообщений: 19
#1

Переход на следующую строку, первое слово строки - C++

10.06.2012, 23:05. Просмотров 1655. Ответов 1
Метки нет (Все метки)

Есть текстовый файл состоящий из строк (Максимальная длина - 256).
Необходимо считывать первое слово строки, и если оно равно какому-то значению (пусть будет const), то продолжать обрабатывать строку.
Если не равно, то перейти на следующую строку и опять смотреть первое слово.

Как это можно реализовать?

Делал так:
C
1
2
3
4
5
6
7
8
while (fscanf(fp, "%s", &s)!=EOF&&flag==0){
        if (!strcmp(s, "const")){
            fscanf(fp, "%s", &elem.type);
            fscanf(fp, "%s", &elem.name);
            fscanf(fp, "%s", &elem.value);
            fscanf(fp, "%s", &elem.value);
        }
}
Но преподша сказала, что так не правильно, т.к. я все слова файла сравниваю с "const"

Добавлено через 3 часа 18 минут
Думаю, может считывать строку через fgets? а потом смотреть первые несколько символов, и если они равны "const", то обрабатывать далее. Но как это сделать?

Первые символы как сравнить ещё понятно, а вот как далее?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2012, 23:05     Переход на следующую строку, первое слово строки
Посмотрите здесь:

C++ Найти в каждом первое слово и напечатать их в строку через пробел
C++ Считывается только первое слово из строки
Работа со строками (записать в другую строку первое слово и поставить пробел) C++
C++ Выделить первое слово из строки(работа с указателями)
Даны два слова.Верно ли,что первое слово начинается на ту же букву,на которую заканчивается второе слово (работа с символами строки) C++
Строки. Перевернуть первое слово. C++
Переход на следующую строку матрицы и транспонировать по условию C++
Файл, переход на следующую строку C++
C++ Определить, содержит ли последнее слово строки букву, с которой начинается первое слово
Функция, выделяющая первое слово из строки C++
C++ Переход на следующую строку getline()
C++ Заменить первое слово строки тремя звездочками

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кот Ангенс
317 / 267 / 38
Регистрация: 24.05.2012
Сообщений: 629
11.06.2012, 09:21     Переход на следующую строку, первое слово строки #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <fstream>
#include <string>
#include <vector>
 
using namespace std;
 
vector<string> ParseFile(ifstream& in, const string& word) {
    vector<string> v;
    string s, s2;
    while (in >> s)
        if (s == word) {
            getline(in, s2);
            v.push_back(s + s2);
        } else
            while (in.get() != '\n' && in) { }
    return v;
}
Yandex
Объявления
11.06.2012, 09:21     Переход на следующую строку, первое слово строки
Ответ Создать тему
Опции темы

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