0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 4
1

Получить все строки файла f, содержащие в качестве фрагмента заданную строку s

14.01.2013, 23:20. Показов 1071. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Очень надо помогите!
Даны текстовый файл и строка s. Получите все строки файла f, содержащие в качестве фрагмента заданную строку s.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.01.2013, 23:20
Ответы с готовыми решениями:

Получите все строки файла f, содержащие в качестве фрагмента заданную строку s
#include <iostream> #include <string> #include <fstream> using namespace std; int main(){ ...

Получить все строки файла f, содержащие в качестве фрагмента строку s
Помогите,пожалуйста,написать программу в СИ. Даны текстовый файл f и строка s. Получить все строки...

Получить все строки файла f, содержащие в качестве фрагмента строку s
Помогите,пожалуйста,написать программу. Даны текстовый файл f и строка s. Получить все строки файла...

Распечатать все строки файла, содержащие заданную строку в качестве подстроки
Программированием занимаюсь месяц, но что-то сижу на этой задаче долго. Нужно распечатать все...

3
95 / 95 / 58
Регистрация: 04.10.2012
Сообщений: 189
14.01.2013, 23:54 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
24
25
26
27
28
29
30
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BUF_LEN 4096
 
int f (const char *namea, const char *nameb, char *s);
 
int f (const char *namea, const char *nameb, char *s)
{
    int ans=0; 
    char buf[BUF_LEN];
    FILE *fpa, *fpb;
    
    if (!(fpa=fopen(namea, "r"))) return -1;
    if (!(fpb=fopen(nameb, "w"))) return -1;
        
    while(fgets(buf, BUF_LEN, fpa)) 
        {   
            if(strstr(buf, s)) {fputs(buf, fpb); ans++;}
        }
    if(!feof(fpa)) {fclose(fpa); fclose(fpb); return -2;}
    
    fclose(fpa); fclose(fpb);
    return ans;
}
 
int main(void)
{
    printf("Changed strings: %d\n", f("in.txt", "ololout.txt", " "));
}
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12225 / 7357 / 1730
Регистрация: 25.07.2009
Сообщений: 13,470
15.01.2013, 00:12 3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <string.h>
 
#define FILE_NAME "file.txt"
 
int main(void) {
    FILE * f;
    char buf[BUFSIZ], str[] = "Christmas";
 
    if ( ! ( f = fopen(FILE_NAME, "r") ) ) {
        fprintf(stderr, "Can't open input file!\n");
        return 1;
    }
 
    while ( fgets(buf, BUFSIZ, f) )
        if ( strstr(buf, str) )
            printf("%s", buf);
 
    return ( ferror(f) || fclose(f) );
}
Не проверял. Будут ошибки - пиши, какие...
0
101 / 92 / 53
Регистрация: 22.03.2011
Сообщений: 226
15.01.2013, 02:11 4
Цитата Сообщение от uburuntu Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int f (const char *namea, const char *nameb, char *s);
int f (const char *namea, const char *nameb, char *s)
{
* * int ans=0; 
* * char buf[BUF_LEN];
* * FILE *fpa, *fpb;
if (!(fpa=fopen(namea, "r"))) return -1;
* * if (!(fpb=fopen(nameb, "w"))) return -1;
while(fgets(buf, BUF_LEN, fpa)) 
* * * * { * 
* * * * * * if(strstr(buf, s)) {fputs(buf, fpb); ans++;}
* * * * }
* * if(!feof(fpa)) {fclose(fpa); fclose(fpb); return -2;}
fclose(fpa); fclose(fpb);
* * return ans;
}
int main(void)
{
* * printf("Changed strings: %d\n", f("in.txt", "ololout.txt", " "));
}
Если функция реализована перед функций main, то не нужно прототипа функции в строке 6( у вас) (у меня в 1). Если Функцию f поставить после main то компилятор затребует прототипа. Реализация ДО - не нужен, ПОСЛЕ - нужен(прототип ф.)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2013, 02:11
Помогаю со студенческими работами здесь

Напечатать все строки файла, содержащие в качестве фрагмента заданный текст
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;locale.h&gt; #include &lt;string.h&gt; #include...

Дан текстовый файл. Напечатать все его строки, содержащие в качестве фрагмента заданный текст
Дан текстовый файл. Напечатать все его строки, содержащие в качестве фрагмента заданный текст

Вывести на экран все строки из файла f1.txt, содержащие данную строку
3. Дан текстовый файл f1.txt и строка символов S1. Вывести на экран все строки из файла f1.txt,...

Дан текстовый файл f. Получить все его строки, содержащие более 60 символов
Приветствую. #include &lt;stdio.h&gt; void main() { FILE * fil; int temp; char mem;


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru