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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
kotofey
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 89
#1

Работа с файлами: получить заданную строку - C++

09.07.2010, 16:45. Просмотров 1944. Ответов 34
Метки нет (Все метки)

Даны текстовый файл, строка s. Получить все строки файла f, содержащие в качестве фрагмента строку s.
 Комментарий модератора 
Не надо злоупотреблять Caps Lock! Уважай окружающих и, возможно, к тебе отнесутся также.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2010, 16:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с файлами: получить заданную строку (C++):

работа со строками. Перевернуть, заданную пользователем строку, в отдельной функции - C++
задание- перевернуть, заданную пользователем строку, в отдельной функции; написал вот такой код, переворачиваю-> копирую->вывожу ...

Работа с файлами. Как добавить переход на новую строку при записи? - C++
Задача такая, дан текстовый файл (с информацией о людях Фамилия Имя Отчество) и надо создать второй файл с записями вида «Фамилия И.О.»,...

Переход на заданную строку - C++
вот хочу считать последнюю строку из файла такием раком fstream str("base.txt",ios_base::in|ios_base::out); str.seekp(0,...

Разрядить пробелами заданную строку - C++
Дана строка состоящая из элементов. Разрядить пробелами заданную строку. Добавлено через 17 часов 46 минут Всё еще нужна помощь.

Прочитать из файла заданную строку - C++
Немного запутался, если у меня есть в файле: abc def ghi Как мне засунуть в массив именно третью строчку?

Заданную строку перевести в массив из слов - C++
Всем привет, вот дан string предложение, нужно все это перевести в массив из слов . Что можно сделать?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
[Freeman]
34 / 34 / 6
Регистрация: 07.06.2010
Сообщений: 118
09.07.2010, 18:56 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
int main() 
{
    string s,buf,name;
    cout<<"Enter name of file : ";
    getline(cin,name);
    ifstream file(name.c_str()); 
    cout<<"Enter a string : ";
    getline(cin,s);
    while(!file.eof())
    {
        getline(file,buf);
        if(buf.find(s) != -1)
            cout<<buf<<endl;
    }
system("Pause");
return 0;
}
вводишь имя файла вместе с расширением .txt, водишь строку s
получаешь результат
kotofey
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 89
09.07.2010, 20:44  [ТС] #3
Спасибо большое
kotofey
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 89
12.07.2010, 18:09  [ТС] #4
А есть другой вариант а то у меня чёт в начале проги не лады с бибилотеками
Nameless One
Эксперт С++
5771 / 3420 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
12.07.2010, 18:33 #5
Цитата Сообщение от kotofey Посмотреть сообщение
А есть другой вариант а то у меня чёт в начале проги не лады с бибилотеками
Попробуй к имени каждого заголовочного файла добавить ".h".
kotofey
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 89
12.07.2010, 18:56  [ТС] #6
29 38 39 42 declaration syntax error
60 unterminated string or character constant
60 character constant too long
187 declaration syntax error
А другой вариант программы можно как то сделать
Nameless One
Эксперт С++
5771 / 3420 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
12.07.2010, 18:59 #7
Цитата Сообщение от kotofey Посмотреть сообщение
А другой вариант программы можно как то сделать
А где гарантия, что другой вариант программы будет у тебя работать? Может быть, лучше уж разобраться со своим компилятором?
kotofey
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 89
12.07.2010, 19:05  [ТС] #8
ААА ТОЧняк у тебя же написан код С++ да ?
Мне на С надо
Nameless One
Эксперт С++
5771 / 3420 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
12.07.2010, 19:08 #9
Цитата Сообщение от kotofey Посмотреть сообщение
ААА ТОЧняк у тебя же написан код С++ да ?
Мне на С надо
Ты совершенно прав, мой друг, только не у меня, а у [Freeman]'a. Впрочем, принцип остается тот же: открываешь файл, читаешь его по строкам и ищешь среди них заданную строку.
kotofey
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 89
12.07.2010, 19:15  [ТС] #10
Можешь пожалуйста написать на обычном С у меня просто горит ситуация
[Freeman]
34 / 34 / 6
Регистрация: 07.06.2010
Сообщений: 118
12.07.2010, 20:58 #11
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 <stdio.h>
#include <string.h>
int main()
{
    const int s_len=100,buf_len=100; /*максимальная длинна строк 100 символов*/
    char      s[s_len], buf[buf_len];
 
    FILE* fin;
    fin=fopen("Text.txt","r"); /* имя файла Text.txt */
 
    printf("Enter a string : ");
    fgets(s,s_len,stdin);
    s[strlen(s)-1]=0;
 
    while(!feof(fin))
    {
        fgets(buf,buf_len,fin);
        if( strstr(buf,s) != NULL )
            printf("%s",buf);
    }
    fclose(fin);
        return 0;
}
kotofey
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 89
12.07.2010, 21:03  [ТС] #12
6 constant expression required in function main

s[s_len], квадратную скобку выделяет
[Freeman]
34 / 34 / 6
Регистрация: 07.06.2010
Сообщений: 118
12.07.2010, 21:09 #13
У меня на VC++ 2008 все работает, но код именно C, попробуй заменить на s[100] и с buf так же,
какой у тебя компилятор?
kotofey
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 89
12.07.2010, 21:13  [ТС] #14
Ну вабще Turbo c

Добавлено через 2 минуты
Вроде исправил 0 ошибок а как вводить точно и что вводить
[Freeman]
34 / 34 / 6
Регистрация: 07.06.2010
Сообщений: 118
12.07.2010, 21:13 #15
Вводить строку s, выводит все строки файла Text.txt содержащие строку s
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2010, 21:13
Привет! Вот еще темы с ответами:

Преобразовать к верхнему регистру заданную строку - C++
Всем доброго времени суток. все сделал, работает. Но есть одно но... Подскажите пожалуйста как сделать что бы переводило к верхнему...

Строки. Уменьшить заданную строку на К символов - C++
Помогите пожалуйста! Нужно написать программу с функцией, уменьшающей заданную строку на К символов , где К меньше или равно длине строки.

Заменить заданную строку матрицы а на вектор b - C++
Дана 4х4 , вектор b размерностью 4. Заменить заданную строку матрицы а на вектор b. Номер строки матрицы а вводить с клавиатуры. Матрицу...

Замена символа пробела на заданную строку - C++
здрасти, со строками у меня как то плохо все, как заменить все символы пробелов на строку &quot; !##! &quot;? int main() { char probel = '...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.07.2010, 21:13
Ответ Создать тему
Опции темы

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