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

С++ под Linux

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

Считывание текста из файла в строку - C++ Linux

07.11.2016, 20:03. Просмотров 432. Ответов 9
Метки нет (Все метки)

Задание такое: Для заданного текста определить длину содержащейся в нём максимальной последовательности символов, отличных от букв.
Помогите пожалуйста
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2016, 20:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считывание текста из файла в строку (C++ Linux):

Считывание бинарных значений из реестра и запись их в одну строку - C++
//9.Функция для считывание бинарных значений из реестра и передачи значения в виде одной строки через пробел (передать переменные с путем и...

Считывание из файла апроксимация координат прямой - C++ Linux
Требуется написать следующюю программу. Имеется файл с данными, приведу кусок файла: Файл состоит из набора координат X Y Z для 1000...

Считывание с файла текста в строку - C Linux
Всем привет! Задание такое: считать с файла список студентов и их оценку, записать в другой файл тех, кто получил 5 файл входной...

Считывание текста из файла - C#
как в этом коде изменить так что бы строка не была задана, а считывалась из файла формата txt? public static void Main() { ...

Считывание текста из файла - Pascal
Программа считывания текста из файла.

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nimazzzy
Заблокирован
07.11.2016, 20:33 #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
В чем загвоздка? На С++ это можно написать без специфичного для линукса кода.

Добавлено через 17 минут
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
#include <ctype.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
 
int main(int argc, char** argv)
{
        char buffer[1024];
        ssize_t bytesRead;
        size_t i, length = 0, maxLength = 0;
        int inFile = open(argv[1], O_RDONLY);
        while((bytesRead = read(inFile, buffer, 1024)) != 0)
        {
                for(i = 0;i < bytesRead; ++i)
                        if(isalpha(buffer[i]))
                        {
                                if(length > maxLength)
                                        maxLength = length;
                                length = 0;
                        }
                        else
                                ++length;
        }
        close(inFile);
        printf("Max: %lu\n", maxLength);
}
посчитает все символы, кроме букав. Включая символы новой строки и т. д..
VIJIS
0 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 34
07.11.2016, 20:55  [ТС] #3
nimazzzy, Какие библиотеки там? Как считывать с файла в строку?
У меня есть код на C++ который работает неправильно, но мне его хотя бы перевести надо под linux. Не знаю как это делать
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 "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
#include <stdio.h>
#include <locale>
 
using namespace std;
 
int main()
{
    static int result = 0;
    int count = 0;
    setlocale(LC_ALL, "Russian");
    string line, tmp;
    ifstream myfile;
    myfile.open("C:\\Users\\Vladislav\\Documents\\Visual Studio 2015\\Projects\\os_lab6\\os_lab6\\lab6.txt");
    if (myfile)
    {
        while (!myfile.eof())
        {
            getline(myfile,tmp);
            line = line + tmp + ' ';
        }
    }
    else
    {
        cout << "Файл не найден\n";
    }
    myfile.close();
        for (unsigned int i = 0; i < line.length(); i++) {
            if (isdigit(line[i]) || ispunct(line[i])) {
                count++;
            }
            if (isalpha(line[i])) {
                if (count > result) {
                    result = count;
                }
                    count = 0;
                    cout << "Текст файла: " + line << endl;
                    cout << "Максимальная последовательность символов без букв = ";
                    cout << result << endl;
            }
        }
    return 0;
}
nimazzzy
Заблокирован
07.11.2016, 20:59 #4
Цитата Сообщение от VIJIS Посмотреть сообщение
Какие библиотеки там?
"там" это где? Для выполнения этой задачи достаточно fstream и cctype.
Цитата Сообщение от VIJIS Посмотреть сообщение
Как считывать с файла в строку?
getline
Цитата Сообщение от VIJIS Посмотреть сообщение
У меня есть код на C++ который работает неправильно, но мне его хотя бы перевести надо под linux

Не по теме:

У меня код работает, зачем мне что-то еще переделывать? Не буду... Жди добрых людей

VIJIS
0 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 34
07.11.2016, 21:37  [ТС] #5
nimazzzy, Спасибо большое за код)

Добавлено через 17 минут
nimazzzy, Простите что снова беспокою, но код не запускается) в 13 строке вместо argv[1] пишу путь к файлу. При запуске выдаёт "Ошибка сегментирования (сделан дамп памяти)". В чём проблема может быть?
nimazzzy
Заблокирован
07.11.2016, 21:50 #6
А файл ты точно правильно написал? Добавь проверку того, что файл открылся нормально.
VIJIS
0 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 34
07.11.2016, 22:21  [ТС] #7
nimazzzy, пусть к фалу точный. Теперь выдаёт результат равный нулю (Max = 0), хотя цифры и символы в тексте файла имеются
nimazzzy
Заблокирован
07.11.2016, 22:29 #8
Не знаю, не знаю, вот результат работы на собственный код:
Код
./a.out  main.c 
Max: 20
VIJIS
0 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 34
07.11.2016, 22:39  [ТС] #9
nimazzzy, а вы что за файл используйте?
nimazzzy
Заблокирован
07.11.2016, 22:41 #10
Цитата Сообщение от VIJIS Посмотреть сообщение
а вы что за файл используйте?
Я же написал:
Цитата Сообщение от nimazzzy Посмотреть сообщение
собственный код
программе передается файл с ее кодом.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2016, 22:41
Привет! Вот еще темы с ответами:

Считывание текста из файла - C++
Написать программу, которая считывает текст (.txt) из файла и выводит на экран только цитаты, то есть предложения заключённые в кавычки.

Считывание текста из файла - C#
Написать программу, которая считывает текст из файла и определяет, сколько в нем слов, состоящих из не более, чем четырех букв. ...

Считывание текста из файла. - Assembler
Здравствуйте, уважаемые форумчане. С ассемблером познакомился буквально на днях и тут же столкнулся с проблемой. Требуется просто считать...

Считывание текста из файла - C++
Вот собственно такая задачка Некоторый текст состоит из нескольких частей, записанных в отдельных файлах. Имена этих файлов и общий...


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

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

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