Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
lomon3
0 / 0 / 1
Регистрация: 18.12.2013
Сообщений: 45
1

Переделать программу так, чтобы можно было сохранить результат обработки

11.11.2015, 22:52. Просмотров 216. Ответов 6
Метки нет (Все метки)

есть код, который убирает комментарии в коде, но можно ли сделать так, чтобы она брала файл txt, обрабатывала и сохраняла готовый результат в новом txt
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
#include <string>
 
using std::cin;
using std::cout;
using std::string;
 
void deleteComments() {
    //string buffer = "";
    bool slash = false;
    char c, q;
    while (cin.get(c)) {
        if (c == '/') {
            if (slash) {
                slash = false;
                while (cin.get(c) && c != '\n');
                cout << '\n';
                //buffer += '\n';
            } else {
                slash = true;
            }
        } else if (c == '"' || c == '\'') {
            slash = false;
            cout << (q = c);
            //buffer += (q = c);
            while (cin.get(c)) {
                cout << c;
                //buffer += c;
                if (c == q) {
                    break;
                }
                if (c == '\\') {
                    cout << cin.get();
                    //buffer += cin.get();
                }
            }
        } else {
            if (slash) {
                if (c == '*') {
                    slash = false;
                    while (cin.get(c) && (!slash || c != '/')) {
                        slash = (c == '*');
                    }
                } else {
                    cout << '/' << c;;
                    //buffer += '/';
                    //buffer += c;
                }
            } else {
                cout << c;
                //buffer += c;
            }
            slash = false;
        }
    }
    //cout << "\nSource code without comments :\n" << buffer << endl;       
}
 
int main() {
    deleteComments();
    //system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2015, 22:52
Ответы с готовыми решениями:

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

Переделать программу так что бы можно было нарисовать линиями
Нужно переделать программу так что бы можно было нарисовать линиями , а потом...

Можно ли сделать так чтобы к классу можно было бы одновременно обращаться как к массиву
подскажите можно ли сделать так чтобы к классу можно было бы одновременно...

Как сделать так, чтобы можно было вводить Имя Фамилию с пробелом
Как сделать так, чтобы можно было вводить Имя Фамилию с пробелом и почту? ...

Расположить почтовые ящики так, чтобы народу на один было как можно меньше
Дано N городов и Y почтовых ящиков, а также население. Нужно расположить...

6
Mesteriis
379 / 162 / 51
Регистрация: 08.08.2015
Сообщений: 1,149
Завершенные тесты: 1
11.11.2015, 22:59 2
lomon3, ты точно уверен в том что она делает, что то я не вижу открытия файлового потока!
Что тебе надо что бы она сделала в текстовом файле?
0
lomon3
0 / 0 / 1
Регистрация: 18.12.2013
Сообщений: 45
11.11.2015, 23:06  [ТС] 3
Mesteriis, да,она не открывает файл, там просто ввод-вывод, а надо сделать открытие файла-чтение-обработка-запись результата
0
Mesteriis
379 / 162 / 51
Регистрация: 08.08.2015
Сообщений: 1,149
Завершенные тесты: 1
11.11.2015, 23:08 4
lomon3, Блин всю функцию переписывать, до завтра ждет до утра?
0
lomon3
0 / 0 / 1
Регистрация: 18.12.2013
Сообщений: 45
11.11.2015, 23:15  [ТС] 5
Mesteriis, мне главное разобраться, сижу пробую сам,но если можешь помочь, то буду очень благодарен

Добавлено через 2 минуты
Mesteriis, сможешь помочь?пожалуйста=)
0
Mesteriis
379 / 162 / 51
Регистрация: 08.08.2015
Сообщений: 1,149
Завершенные тесты: 1
11.11.2015, 23:29 6
lomon3, Ну смотри так тебе пока алгоритм:
открываем поток чтения
C++
1
std::ifstream inFile (filename)
потом читаем строку
C++
1
2
3
4
while (getline(inFile, line))
{
//что то делаем
}
потом закрываем чтение
открываем запись
C++
1
std::ofstream outFile (filename, rewrite ? std::ios::out : std::ios::app);
пишем
C++
1
outFile << EventLog << ";\n";
ну и закрываем
C++
1
outFile.close();
0
lomon3
0 / 0 / 1
Регистрация: 18.12.2013
Сообщений: 45
12.11.2015, 00:20  [ТС] 7
Mesteriis, =) спасибо, буду пробовать. правда на вряд ли получится(
0
12.11.2015, 00:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2015, 00:20

Как создать файл DLL так, чтобы его можно было подключить к VBA Excel?
Пытаясь научиться подключать к VBA хотя бы самую тривиальную функцию на C++. ...

Определить функцию-член в наследнике так, чтобы её можно было вызвать только по ссылке на базовый класс
Пусть дан абстрактный класс A class A { public: void virtual method()...

Как передать в функцию два односвязных списка так, чтобы внутри функции можно было эти списки редактировать?
Мне нужно редактировать в функции два односвязных списка, как их передать в...


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

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

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