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

Форматом записи в файл - C++

Восстановить пароль Регистрация
 
oleg@tor1
 Аватар для oleg@tor1
32 / 17 / 2
Регистрация: 05.09.2011
Сообщений: 152
28.02.2013, 22:06     Форматом записи в файл #1
Господа, столкнулся с таким вот траблом... Написал програмку "Записать в файл прямого доступа N действительных чисел. Найти наибольшее из значений модулей компонентов с нечетными номерами." При компиляции в файл весь текст записывался в аккуратном последовательном порядке (как в проге), но позже... в файл (блокнот) весь текст записывается без "endl", в одну строку, короче, хаос полный. Кто-нибудь может направить на путь истинный?

Код:
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
#include <iostream>     // Ввод - вывод.
#include <stdlib.h>     // Стандартные фун-и.
#include <vector>       // Векторы.
#include <algorithm>    // Для сортировок и др.
#include <locale.h>     // Необходим для "setlocale(LC_ALL, "rus");"
#include <fstream>      // Работаем с файлами.
#include <time.h>       // Время.       
#include <iomanip>      // Необходим для setw();
using namespace std;
 
int main(int argc, char* argv[])
{
    setlocale(LC_ALL, "rus");                   // Корректное отображение Кириллицы.
    char q = -1;                                
    srand (static_cast <unsigned> (time(NULL)));// Генератор случайных чисел. Испольхуем сист.время.
    double N = rand() % 19 + 10;                // Случайное кол-во элементов в списке.
    vector <double> v;
    vector <double> vn;
 
    fstream tf ("file.txt", ios_base::binary | ios_base::out); // Создаем объект "tf" для записи (out).
    
    for (unsigned int t=0; t < 10; ++t)
    {
        cout << "Произвольный список действительных чисел:" << ' ' <<  '/n'<< '/n';
        for (unsigned int i = 0; i < N; ++i)
        {
            double a = rand() % 191 + q;        // Генерируем случайные числа для списка.
                cout << a << ' ';
                    tf   << a << ' ';           // Запись в файл (создаётся в директории программы).
                --q;
            v.push_back(a);
        }//end_for
 
    tf << '/n';
    cout << endl << endl;
            
        cout << "Перечень компонентов с нечетными номерами:" << ' ' << endl << endl;
        cout << "№" << setw(13) << "Число:" << endl << endl;
 
    for (unsigned int i = 0; i < v.size(); ((++i)+(++i))) // "Хитрый" инкремент для нечетного списка.
    {
        cout << i+1 << '\t' <<":" << v[i]<< '\t' << endl; 
            tf   << i+1 << '\t' <<":" << v[i]<< '\t' << '/n'; 
                vn.push_back(v[i]);                     
                    if (i>50)                             // Немного сократим размер. Для удобства.
                    {
                        break;
                    }//end_if
    }//end_for  
    cout << endl << endl;   
 
 
    for (unsigned int j=0; j<vn.size(); ++j)
    {
        if (vn[j]<0)
        {
            vn[j] = abs(vn[j]);                           // Модуль для отрицательных чисел.                        
        }//end_if
        
    }//end_for
cout << endl;
    sort(vn.begin(), vn.end());                           // Сортируем вектор.
        cout << "Наибольшее значение:" << vn.back()<<' '  << endl;
            tf   << "Наибольшее значение:" << vn.back()<<' '  << endl;
 
tf << endl << endl;
    v.clear();                                           // Очищаем вектор.
        vn.clear();
            getchar();                                   // Дабы не закрылся портал. :)
 
    }//end_for_main
 
    tf.close();                                          // Закрываем наш файл.
        system("pause");
            return 0;
}// end_main
Вложения
Тип файла: txt file.txt (2.0 Кб, 3 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
oleg@tor1
 Аватар для oleg@tor1
32 / 17 / 2
Регистрация: 05.09.2011
Сообщений: 152
28.02.2013, 22:17  [ТС]     Форматом записи в файл #2
Причем, текст, который Я здесь выложил на моём компе отображается хаотично, но здесь... в формать HTML - все как надо... Вставил скопированный "хаос" в Ворд - тоже все ОК... Почему блокнот перестаёт распознавать новые строки...
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.02.2013, 22:19     Форматом записи в файл #3
Бинарная запись так выглядит в блокноте. Откройте файл без ios_base::binary, будет выглядеть по другому.
oleg@tor1
 Аватар для oleg@tor1
32 / 17 / 2
Регистрация: 05.09.2011
Сообщений: 152
28.02.2013, 22:28  [ТС]     Форматом записи в файл #4
Да.... точно. Дело в бинарной форме. Интересно, почему сначало все отображалось как надо. Чудеса ОС )))
Yandex
Объявления
28.02.2013, 22:28     Форматом записи в файл
Ответ Создать тему
Опции темы

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