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

Запись в файл - C++

Восстановить пароль Регистрация
 
MR_folkz
 Аватар для MR_folkz
0 / 0 / 0
Регистрация: 09.01.2013
Сообщений: 7
30.03.2013, 11:48     Запись в файл #1
Здравствуйте! Мне нужна Ваша помощь...
У меня есть практическая работа по программированию и есть одна задача которая.....нуууу никак не решается.
Нужно на С++ создать программу которая будет сохранять все слова со скобок"()" в отдельный файл.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2013, 11:48     Запись в файл
Посмотрите здесь:

C++ запись в файл
Запись в файл C++
C++ запись в файл
C++ запись в файл
Запись в файл C++
C++ запись в файл
Запись в файл C++
C++ Запись в файл

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
30.03.2013, 13:09     Запись в файл #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 <fstream>
#include <string>
 
int main()
{
    std::ifstream in("src.txt");  // источник
    std::ofstream out("buf.txt");  // файл, куда будем сохранять слова.
    std::string str;
    typedef std::string::size_type str_size;
    str_size i = 0;
    if (in.is_open())
    {
        std::getline(in, str);
        while (i < str.size() - 1)
        {
            while (str[i] != '(' && i < str.size() - 1)
                ++i;
            str_size j = i;
            while (str[j] != ')' && j < str.size() - 1)
                ++j;
            if (i != j) {
                if ( str[j] == ')')
                    out << str.substr(i + 1, j - i - 1) << " ";
                i = j;
            }
        }
    }
    in.close();
    out.close();
}
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
30.03.2013, 13:21     Запись в файл #3
MR_folkz, как-то так

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
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    ofstream fout("out.txt", ios::out);             //создаем файл в директории исходника
 
    string str("(Hello) world! (My) name (is) ...");        //наша строка
    char symbol1 = '(', symbol2 = ')';                      //символы для поиска
 
    unsigned i, j, k = 0;
    while(k < str.size()){                              //идем по всей строке
        i = str.find(symbol1, k);                       //ищем открывающую скобку
        j = str.find(symbol2, k);                       //ищем закрывающую скобку
 
        if(i < str.size() && j < str.size()){           //если сиволы найдены
            string tmp(str, i + 1, (j - (i + 1)));      //записываем в промежуточ строку 
            fout << tmp << "\n";                        //заносим строку в файл
            k = j + 1;                                  //переходим к следующему символу
        }
        else
            break;                                      //если конец строки, то выходим
    }
 
        fout.close();
    cout << "Words successfully written to the file!\n\n";
 
    return 0;
}
можете потом заменить

C++
1
string str("(Hello) world! (My) name (is) ...");
на

C++
1
2
cout << "Enter the string: ";
        getline(cin, str1, '\n');
я оставил так, дабы показать работу
Yandex
Объявления
30.03.2013, 13:21     Запись в файл
Ответ Создать тему
Опции темы

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