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

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

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

Не знаю как реализовать чтение из файла/запись в файл с особыми условиями - C++

12.07.2014, 16:25. Просмотров 303. Ответов 4
Метки нет (Все метки)

Добрый день!

У меня есть файл file.txt с таким содержанием:

C++
1
2
3
4
5
6
xxx         /x
    qqq
zzz         /z
    aaa
ccc         /c
    rrr
Программа должна сделать две вещи:
1) Выводить "подкатегорию" согласно моему запросу (например: Я ввел "ссс", значит после этого должна вывестись строка "rrr")
2) Дописывать введенный запрос в файл через 4 символа табуляции следующим образом
C++
1
2
3
4
5
6
xxx         /x
    qqq         xxx
zzz         /z
    aaa         zzz
ccc         /c
    rrr         ccc

Но что если подкатегория будет слишком длинной? Значит "xxx" будет расположен дальше "zzz" и "ccc"
C++
1
2
3
4
5
6
xxx         /x
    qqqqqq          xxx
zzz         /z
    aaa         zzz
ccc         /c
    rrr         zzz
Как написать программу, выполняющую мою задачу? Как сделать так, чтобы все было в одном столбце?

Извиняюсь за столь корявое изложение
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2014, 16:25     Не знаю как реализовать чтение из файла/запись в файл с особыми условиями
Посмотрите здесь:

Реализовать функции: чтение из файла запись в файл - C++
Взять произвольный текстовый файл (~500 символов). Заполнить <map> так, чтобы программа выводила символ и количество повторений этого...

Запись в файл, чтение из файла - C++
В общем, неделю назад мне помогли на этом форуме сделать программу. И все прекрасно работает на visual studio, но в универе у нас везде...

Чтение из файла, запись в файл - C++
Тут такая у меня проблема. 1) Не работает цикл в майне. Как его правильно организовать? 2) И, похоже, чтение из файла все-таки,...

Запись в файл и чтение из файла - C++
Здравствуйте!!! Как правильно сделать в с++ запись в файл и чтение из файла?? Объясните пожалуйста с примерами??

Чтение из файла и запись в файл - C++
всем привет! нужно написать программу, которая читает строку из файла. если слово содержит "*", то его удалить, "+" - не менять, остальное...

Запись в файл и чтение из файла - C++
Всем привет. Кто может подсказать решение? Есть полученный заполненный массив. int A. Числа в нём от 0 до 17. Как его записать в файл...

Запись в файл, чтение из файла - C++
Каким образом можно реализовать чтение из файла только 1 строки,используя ifstream и fstream,если можно то темку про это из интернета,сам...

Чтение из файла и запись в файл - C++
Доброго времени суток. Идея в чем: Пример входных данных из файла: 5 o 3 c 4 o 5 c 6 o 7

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

Чтение из файла и запись в файл - C++
Создайте текстовый файл целых чисел (значения вводятся с клавиатуры). Проанализировав в программе созданный файл, создайте еще 2 файла: ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
12.07.2014, 16:37     Не знаю как реализовать чтение из файла/запись в файл с особыми условиями #2
RareScrap, используйте вместо табуляции setw() из заголовочного файла #include <iomanip>
C++
1
std::cout << std::setw(4) << "ccc";
Посчитайте количество элементов выводимой строки и изменяйте аргумент setw() соответственно.
RareScrap
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 84
12.07.2014, 17:16  [ТС]     Не знаю как реализовать чтение из файла/запись в файл с особыми условиями #3
Не могли бы вы написать пример программы? Я сейчас попробовал использовать setw(), но не получил желаемый результат

Добавлено через 28 минут
И почему, если попытаться вывести строку из пяти символов в поле длиннойю в три символа (setw(3)), то выводятся все пять символов строки?
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
12.07.2014, 17:38     Не знаю как реализовать чтение из файла/запись в файл с особыми условиями #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
RareScrap, забудьте про setw(). В вашем случае лучше делать поиск и перезаписывать файл.
Остаётся лишь уследить за длиной строк. Я установил отступ в 10 пробелов, в обычном случае.
Можно увеличить при надобности.
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
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
 
int main()
{
    std::ifstream output("file.txt");
    
    if(output)
    {
        std::vector<std::string> arr;
        std::string str;
        while(getline(output, str)) { arr.push_back(str); }
        std::cout << "Type query: ";
        std::cin >> str;
        for(unsigned i = 0; i < arr.size(); i++)
        {
            if(!arr[i].find(str))
            {
                if(arr[i + 1].size() - 4 > 3)
                    arr[i + 1] += std::string(10 - (arr[i + 1].size() - 7), ' ') + str;
                else
                    arr[i + 1] += std::string(10, ' ') + str;
            }
        }
        output.close();
        std::ofstream input("file.txt");
        if(input)
        {
            for(unsigned i = 0; i < arr.size(); i++)
                input << arr[i] << std::endl;
            input.close();
        }
        else
            perror("Error");
    }
    else
        perror("Error");
    
    return 0;
}
RareScrap
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 84
12.07.2014, 17:41  [ТС]     Не знаю как реализовать чтение из файла/запись в файл с особыми условиями #5
Огромное спасибо! Наконец-то разберусь
Yandex
Объявления
12.07.2014, 17:41     Не знаю как реализовать чтение из файла/запись в файл с особыми условиями
Ответ Создать тему
Опции темы

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