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

Проверить,содержит ли файл строку заданной длины. - C++

Восстановить пароль Регистрация
 
zemka_2293
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 6
30.06.2011, 11:09     Проверить,содержит ли файл строку заданной длины. #1
дан текстовый файл,состоящий из нескольких строк.Пользователь вводитс клавиатуры число. Проверить,содержит ли файл строку заданной длины.Если в файле имеются строки заданной длины,то впервой из них изменить порядок следования символов на обратный.(помогите пожалуйста написать на си.)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2011, 11:09     Проверить,содержит ли файл строку заданной длины.
Посмотрите здесь:

Посчитать, сколько слов содержит текст произвольной длины. C++
Проверить содержит ли массив простые числа C++
C++ Строки. Проверить, что длины слов в заданной строке являются последовательными членами арифметической прогрессии
Разработка программного модуля вставки строки заданной длины, содержащую хотя бы один перенос, в текстовый файл C++
Текстовый файл содержит строки – предложения разной длины. Записать их в выходной файл в порядке возрастания длины строки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
30.06.2011, 11:32     Проверить,содержит ли файл строку заданной длины. #2
1.Создаешь текстовый файл.
2.Вводишь туда строки.
3.Запоминаешь длину любой строки!
4.Запускаешь эту прогу
5.Вводишь число
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
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
 
int main()
{
    char s[255];
    FILE *f;
    int i=0,n;
f=fopen("C:\\Longest-string.txt","rt");
printf("Vvedite chislo: ");
  scanf("%d",&n);
while(!feof(f))
 {fscanf(f,"%s",&s);
 if (strlen(s)==n) i=strlen(s); //находим нужную строку
  } 
rewind(f);
while(!feof(f))
{fscanf(f,"%s",&s);
 if (strlen(s)==i) 
   {strrev(s);//функция изменения порядка следования символов на обратный
  printf("%s",s);}} //выводим эту строку
fclose(f);
system("pause");
}
6.Радуешься!!!
zemka_2293
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 6
30.06.2011, 11:34  [ТС]     Проверить,содержит ли файл строку заданной длины. #3
спасибо большое))
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
30.06.2011, 12:26     Проверить,содержит ли файл строку заданной длины. #4
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <fstream>
#include <string>
#include <queue>
#include <algorithm>
 
 
int main()
{
    std::fstream fs;
    std::string file_name;
    std::string buf;
    std::queue<std::string> lines;
    size_t len;
    bool done = false;
 
    std::cout << "Enter a filename: ";
    std::getline(std::cin, file_name);
 
    fs.open(file_name.c_str(), std::ios::in|std::ios::out);
    if (fs.fail()) {
        std::cerr << "Can't open the file \"" << file_name << "\"\n";
        return 1;
    }
 
    std::cout << "Enter a length: ";
    std::cin >> len;
 
    while (! fs.eof()) {
        std::getline(fs, buf);
        
        if (buf.length() == len && (! done)) {
            std::reverse(buf.begin(), buf.end());
            done = true;
        }
        lines.push(buf);
    }
    fs.clear();
    fs.seekp(0);
 
    while (! lines.empty()) {
        fs << lines.front() << std::endl;
        lines.pop();
    }
    return 0;
}
Yandex
Объявления
30.06.2011, 12:26     Проверить,содержит ли файл строку заданной длины.
Ответ Создать тему
Опции темы

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