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

C++

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

Неправильная запись в файл - C++

20.01.2010, 20:57. Просмотров 563. Ответов 0
Метки нет (Все метки)

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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#pragma hdrstop
#pragma argsused
#include <fstream>
#include <iostream>
#include <string>
#include<sstream>
 
using namespace std;
/*Нахождение простых чисел с помощью решета Эратосфена*/
int* Sieve_of_Eratosthenes(int n)
{
    int *a = new int[n];
    int j = 1, m = 2, Count = 0;
    a[0] = 0; a[1] = 0;
    for (int i = 2; i < n; i++)
    {
        a[i] = 1;
    }
    while (m < n)
    {
        if (a[m] != 0)
        {
            j = m * 2;
            Count++;
            while (j < n)
            {
                a[j] = 0;
                j += m;
            }
        }
        m++;
    }
    int* b = new int[Count];
    int Index = 0;
    for (int i = 0; i < n; i++)
    {
        if (a[i] != 0)
        {
            b[Index] = i;
            Index++;
        }
        if (Index == Count)
        {
            break;
        }
    }
    return b;
}
 
char* IntToChar(int Integer)
{
    string StrToInt;
    ostringstream StreamIndex;
    StreamIndex << Integer;
    StrToInt = StreamIndex.str();
    char* NewCountMail = new char [3];
    for (unsigned int i=0; i < StrToInt.length(); i++)
    {
        NewCountMail[i] = StrToInt[i];
    }
    NewCountMail[StrToInt.length()]='\0';
    return NewCountMail;
}
 
/*Перевод в нужные системы счисления*/
void Text_into_numbering_system(char *input_filename, int* Prime_numbers, int Size, int Max)
{
    int DetectSize, Detect;
    for (int j = 0; j < Size; j++)
    {
        Detect = 0;
        DetectSize = Max;
        while (DetectSize>0)
        {
            DetectSize = DetectSize / Prime_numbers[j];
            Detect++;
        }
        cout<<Detect<<" ";
        int* Recalculation = new int[Detect];
        for (int i = 0; i < Detect; i++)
        {
            Recalculation[i] = 0;
        }
        unsigned char Symbol;
        fstream file_in;
        file_in.open(input_filename, ios_base:: in);
        unsigned int Into_Int;
        if (!file_in)
        {
            cout<<"Error";
        }
        char* FileName = IntToChar(Prime_numbers[j]);
        strcat(FileName,".txt");
        fstream file_out;
        file_out.open(FileName,ios_base:: out);
        cout<<FileName<<"\n";
        delete []FileName;
        Symbol = file_in.get();
        while (!file_in.eof())
        {
            Into_Int=int(Symbol);
            for (int i = Detect - 1; i >= 0; i--)
            {
                Recalculation[i] = Into_Int % Prime_numbers[j];
                Into_Int = Into_Int / Prime_numbers[j];
                if (Into_Int == 0)
                {
                    break;
                }
            }
            for (int i = 0; i < Detect; i++)
            {
                file_out<<Recalculation[i];
                file_out<<" ";
                cout<<Recalculation[i];
                cout<<" ";
            }
            Symbol = file_in.get();
        }
        file_in.close();//закрыли файл, т. к. он больше не нужен
        file_out.close();
        delete []Recalculation;
        cout<<"\n";
    }
}
 
int main()
{
    const int Size = 31;
    const int Max = 128;
    int* Prime_numbers;
    Prime_numbers = Sieve_of_Eratosthenes(Max);//Вывод всех простых чисел до Max
    for (int i=0; i<Size; i++)
        cout<<Prime_numbers[i]<<"  ";
    Text_into_numbering_system("Initial_text.txt",Prime_numbers, Size, Max);
    system ("pause");
    return 0;
}
Писал в Borland Developer Studio 2006 С++ консольное приложение.
Переводит в различные системы счисления текст, потом записывает в файл с названием 2.txt - если система счисления по основанию 2, 5.txt - если основание 5 и т. д.
Так вот в чем загвозка.
В консоль выводит правильно, а вот в файл записывает не верно, но только в том случае, если основание системы счисления с одним разрядом, т. е. 2.txt - запись не верно, а 11.txt - записывает верно.
Записывает верно, если числа в файле не разделять пробелом, но мне необходимо их записывать с пробелом. Помогите кто сможет. Очень надо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2010, 20:57     Неправильная запись в файл
Посмотрите здесь:

Неправильная запись в файл - C++
void Registration() { system(&quot;cls&quot;); cout &lt;&lt; &quot;Введите логин:&quot;; char Login; cin &gt;&gt; Login; cout &lt;&lt; &quot;Введите пароль:&quot;; ...

Неправильная запись в текстовый файл - C++
При записи в файл вместе с данными (логином и паролем), которые я ввожу, записываются непонятный мусор (лишние буквы МММ). Скажите...

запись в файл - C++
есть процедура по поиску короткого слова как записать результат поиска в отдельный файл setlocale(0,&quot;rus&quot;); ...

Запись в файл - C++
Дана программа: #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &lt;conio.h&gt; #include &lt;fstream&gt; using namespace std; char...

Запись в файл - C++ Builder
Я хочю сделать программу, которая при включении компьютера записывала в текстовой файл информацию, когда он был включен (дата, время и...

Запись в файл - C++
Как записать ввод данных(input) в файл? #include &quot;mylist.h&quot; #include &lt;fstream&gt; MyList::MyList() { curr =...

Запись в файл - C++
Приветствую. Такая проблема. Если находит в структуре совпадение с введенным номером, то удаляет из массива эту структуру. Но почему то...

Запись в файл - C++
Доброго времени суток. Начал изучать работу с файлами, и малость запутался. Ищу по разным источникам, и везде команды предлагается...

Запись в файл - C++ Builder
Доброе вам время суток :) У меня такая вот проблема, есть програма с расписанием пар, на неделю она должна записывать и считывать все...

Запись в файл - C++
Вот программа: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;locale.h&gt; int i; int fact (int...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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