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

Работа с файлами через ifstream/ofstream - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Использование строк и файлов, как окончательно подогнать под условие код? http://www.cyberforum.ru/cpp-beginners/thread448220.html
Задача: С помощью текстового редактора создать файл, содержащий текст, длина которого не превышает 1000 символов (длина строки не должна превышать 70 символов). Имя файла должно иметь расширение DAT. Написать программу, которая: • Выводит текст на экран дисплея; • Определяет порядковый номер заданного слова в каждом предложении текста и записывает в файл; • По нажатию произвольной клавиши...
C++ Программа с простыми числами Помогите кому не сложно написать программу: Задача: Написать программу, которая находит и выводит на экран N первых простых чисел (число N вводится с клавиатуры). Простое число как определить знаю, а как осуществить что выше написано не пойму(( #include <iostream> using namespace std; int main() { int n; http://www.cyberforum.ru/cpp-beginners/thread448216.html
C++ Обрезать bmp и установить прозрачность
Привет. Загружаю точечный рисунок в память программы с помощью LoadImage (работаю на чистом WinAPI) При несовпадении размеров исходного и целевого прямоугольников: Функция BitBlt обрезает рисунок Функция TransparentBlt растягивает рисунок Но у меня появилась необходимость обрезать рисунок и сделать его фон прозрачным, т.е. выполнить обе функции подряд над одним и тем же рисунком. ...
Специализации шаблонов классов C++
Здравствуйте, возникла следующая проблема. Пишу класс Матрица со след. шаблонными параметрами. template<typename Type, size_t numberOfLines, size_t numberOfColumns> class RectangularMatrix; Type - тип элементов, numberOfLines - количество строк, numberOfColumns - количество столбцов. Затем пытаюсь создать специализацию для квадратных матриц, но никак не могу понять как это...
C++ Создать программу для вычисления значений функции http://www.cyberforum.ru/cpp-beginners/thread448201.html
Создать программу для вычисления значений функции согласно заданного варианта.
C++ GetPixel Всем доброго времени суток. Столкнулся со странной проблемой. Вот код который на xp работал как часы, попробовал под win7 и он выдаёт чушь. HWND hwnd; HDC hdc ; hwnd = FindWindowExW(NULL, NULL, NULL, L"имяокна"); if ( hwnd == NULL ) exit(3); hdc = GetDC(hwnd); if ( hdc == NULL ) exit(3); DWORD color; подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3048 / 1693 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
18.02.2012, 17:24     Работа с файлами через ifstream/ofstream
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/////////////////////////////////////////////////////////////////////////////////////////
//Дан текстовый файл f компонентами которого являются символы.
//  Переписать в файл g все знаки препинания файла f, 
//  а в файл h - все остальные символы файла f.
/////////////////////////////////////////////////////////////////////////////////////////
#include <cctype>
#include <cstdlib>
#include <ctime>
#include <fstream>
#include <iostream>
#include <limits>
#include <string>
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::string  T_str;
/////////////////////////////////////////////////////////////////////////////////////////
void  rand_fill_file
    (
        const T_str&    filename,
        int             filesize,
        int             wordsize
    )
{
    std::ofstream   ofile( filename.c_str() );
 
    const char char_min     =   std::numeric_limits<char>::min();
    const char char_max     =   std::numeric_limits<char>::max();
    
    while( ofile.tellp() < filesize )
    {
        char    rand_symb   =   rand() % ( char_max - char_min + 1 ) + char_min;        
 
        if(
                !iscntrl( rand_symb )
            &&  (                        
                        ofile.tellp() % (wordsize + 1) != 0
                    ||  isspace( rand_symb )            
                )   
          )
        {            
            ofile.put( rand_symb );            
        } 
    }
}
/////////////////////////////////////////////////////////////////////////////////////////
void  to_separate_punctuation_marks
    (
        const T_str&    text_filename,
        const T_str&    punctuation_marks_filename,
        const T_str&    pure_text_filename
    )
{
    std::ifstream   i_f( text_filename                  .c_str() );
    std::ofstream   o_g( punctuation_marks_filename     .c_str() );
    std::ofstream   o_h( pure_text_filename             .c_str() );
 
    char    c   =   0;    
 
    while( i_f.get(c) )
    {
        ( ispunct(c) ? o_g : o_h ).put(c);
    }
}
/////////////////////////////////////////////////////////////////////////////////////////
void  print_file(const T_str&  filename)
{
    std::ifstream   ifile( filename.c_str() );    
 
    std::cout   <<  filename
                <<  ":"
                <<  std::endl                
                <<  ifile.rdbuf()
                <<  std::endl
                <<  std::endl;
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    const T_str     F_FILENAME      =   "f.txt";
    const T_str     G_FILENAME      =   "g.txt";
    const T_str     H_FILENAME      =   "h.txt";
 
    const int       RAND_FILE_SIZE  =   80;        
    const int       RAND_WORD_SIZE  =   4;
 
    srand(unsigned(time(0)));
 
    rand_fill_file
        (
            F_FILENAME,
            RAND_FILE_SIZE,
            RAND_WORD_SIZE
        );
 
    to_separate_punctuation_marks
        (
            F_FILENAME,
            G_FILENAME,
            H_FILENAME
        );
 
    print_file(F_FILENAME);
    print_file(G_FILENAME);
    print_file(H_FILENAME);
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru