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

Почему не записывает в файл данные? Файловый вывод. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ C++ сортировка структуры по возрастанию времени http://www.cyberforum.ru/cpp-beginners/thread34347.html
ребят,такое задание было у меня в Pascal,в С++ возникли проблемы с ним,не могу провести сортировку(хотя бы любым способом),помогите пожалуйста,ввод я обеспечил,а дальше никак(( В процессе функционирования АСУ ВД в файле фиксируются данные о самолетах, выполняющих полет в зоне действия АСУ. Каждая запись имеет структуру типа: 11:15 ТУ-154М Б-3726 ...
C++ чем отличается вызов объекта через "." и через "->" Здравствуйте. Вот создал топик для тех, кто желает сам познать С++, но у которых есть вопросы по базовым знаниям. Начну с вопроса: чем отличается вызов объекта через "." и через "->" И в каких случаях лучше применять тот или иной способ. http://www.cyberforum.ru/cpp-beginners/thread34346.html
C++ Разложить числа на простые множители
Здравствуйте, всем. Помогите пожалуйста может кто знает. Как в C++ разложить числа на простые множители. Составить программу, которая выдаёт разложение данного числа N на простые множители. Например 128=2*2*2*2*2*2*2. хоть что нибудь напишите заранее спасибо
C++ При присвоении числа float появляется хвост!
присваеваю переменной Float 1.44 получаю 1,44000005722046 может FloatToStr работает некоректно? class computer { public: computer(char *, int, float); String Text(void); private: char name;
C++ Приближенное вычисление значения функции cos(x) Отблагодарю голосами в контакте! http://www.cyberforum.ru/cpp-beginners/thread34321.html
Вычислить с точностью е = 10 ^ -4 значение функции ________________________ Представленной рядом в 28 точках, которые наиболее полно охватывают область определения данной функции. Найти точное и ближайшее значение функции, абсолютную и относительную погрешности вычислений в этих точках Добавлено через 44 секунды http://www.cyberforum.ru/attachment.php?attachmentid=3971&d=1242327107 функция
C++ сортировка матрицы Доброго времени суток. Задание: поменять в каждой строке максимальный и минимальный элементы на 0. Я думаю ошибка в функции void SortMatrix(int **X, const int K, const int L). Посмотрите, пожалуйста, в чем проблема. #include <iostream> #include <stdio.h> #include <conio.h> #include <math.h> int **CreateMatrix(const int K,const int L); void FreeMatrix(int **X, const int L); подробнее

Показать сообщение отдельно
lagun
0 / 0 / 0
Регистрация: 06.05.2009
Сообщений: 7

Почему не записывает в файл данные? Файловый вывод. - C++

15.05.2009, 18:52. Просмотров 791. Ответов 1
Метки (Все метки)

Help!!!!!!!
привет всем!
консольное приложение С++(компилятор BC++ 6.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
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
int main ()
{
/************************* ПЕРЕМЕННЫЕ **************************************************/
 
    int Result=0;       // Счетчик результата поиска
    int LenKey=0;           // Длинна строки (см. дальше)
    string TempStr="";  // Временная строка
        const keySize = 1000;
    char  Key[keySize];     // Искомая строка
    char inFile[50];    // Имя входного файла
    char outFile[50];   //Имя выходного файла
    char  Str [200];    // Буффер для строки
 
/************************* ВВОДИМЫЕ ЗНАЧЕНИЯ ******************************************/
    cout << "Enter input file name: ";
    cin >> inFile;              // Вводим имя файла
    cout << endl;
    cout << "Enter output file name: ";
    cin >> outFile;             // Вводим имя файла
    cout << endl;
    cin.get();
    cout << "Enter find text: ";
    cin.getline(Key,keySize);           // Вводим то, что ищем
 
/******************** ПОЛУЧЕНИЕ СТРОКИ ИЗ ФАЙЛА ***************************************/
        ofstream OutputFile(outFile);   // Открываем файл
 
    ifstream InputFile(inFile); // Открываем файл
 
    while (! InputFile.eof())       // Читаем строки пока не закончился файл
    {
        if (InputFile.fail())       // Если файл не открыватся, тогда ошибка
            {
            cout << endl << endl;
            cerr << "*********** Error open file ***********" << endl;
            cout << endl;
            cout << "Press ENTER";
            cin.get();      // Для задержки результата
            exit(1);
            }
        else
 
        InputFile.getline (Str, 200);   // Получаем символы
    //  Str = CharBuf;                                  // Запихиваем символы в строку
 
 
 
/************************* ПОИСК ******************************************************/
        LenKey = strlen(Key);
        int LenStr = strlen(Str);
        int endPos = 0;                 //позиция исходной
        int space = 0;
        int fin=0;
        while (Str[endPos]< LenStr)
        {
            if (Str[endPos]==' ') space = endPos; //первый пробел
            fin = 0;
            while((Key[fin]!='\0')&& (Key[fin] == Str[endPos] || Key[fin] == '*' || Key[fin] == '?'))
            {
                if (Key[fin] == '?')
                    if (fin == (LenKey-1))
                        {
                            do
                            {
                                    OutputFile << Str[space];
                                    space++;
                            } while(Str[space]!= ' ' && Str[space]!= '\0');
                         endPos = space;
                         OutputFile << endl;
                         goto start;
                        }
                //============================================================
                if (Key[fin] == '*')
                {
                    do
                    {
                        fin++;
                    } while(Key[fin] == '?' || Key[fin] == '*');
                    if (fin == (LenKey-1))
                        {
                            do
                            {
                                    OutputFile << Str[space];
                            } while(Str[++space]!='\0');
                         endPos = space;
                         OutputFile << endl;
                         goto start;
                        }
                    while(Key[fin]!=Str[endPos] && Str[endPos] !='\0')
                            endPos++;
                }
                //============================================================
                if (Key[fin] == Str[endPos])
                    if (fin == (LenKey-1))
                        {
                            do
                            {
                                    OutputFile <<Str[space];
                                    space++;
                            } while(Str[space]!= ' ' && Str[space]!= '\0');
                        endPos = space;
                        OutputFile << endl;
                        goto start;
                        }
                     else if (endPos == (LenStr-1))
                                goto start;
                //endPos++;
                fin++;
                if  (endPos < LenStr-1)
                        { endPos++; }
                    else goto start;
            }
start:  endPos++;
 
        }
     }
 
    cout << "exit program";
 
    cin.get();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru