Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
3 / 3 / 2
Регистрация: 18.09.2013
Сообщений: 30
1

Ошибка времени выполнения Не могу понять как победить

26.09.2013, 20:27. Просмотров 427. Ответов 3
Метки нет (Все метки)

Привет всем. Вот написал тут нехитрый код для считывания и записи файлов. При компиляции ошибок нет и предупреждений нет. А вот как запустиш на выполнение так глаз начинает радовать вот такая картина.
Ошибка времени выполнения Не могу понять как победить


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
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <iostream.h>
#include <string.h>
 
void errorfile();
void parsing_file_1();
void parsing_file_2();
 
FILE *fout, *finp;
 
int main()
{
    errorfile();
    parsing_file_1();
 
    return 0;
}
 
void errorfile()
{
    fout = fopen("fileout.txt","r");
 
    if(fout == NULL)
    {
        printf("Error open file fileout.txt\n");
        exit(0);
    }
 
    finp = fopen("fileinp.txt","a+");
 
    if(finp == NULL)
    {
        printf("Error open file fileinp.txt\n");
        exit(0);
    }
}
 
void parsing_file_1()
{
    char * alf_buf = "";
    int detect_alf = 0, len = 0;
    char * super ="";
 
    while(!feof(fout))
    {
        *alf_buf = fgetc(fout);
 
        detect_alf = isalpha(*alf_buf);
 
        if(detect_alf != 0)
        {
            strcat(super,alf_buf);
            
            len = strlen(super);
 
            if(len >= 2)
            { 
                  if(detect_alf == 0)
                  {
                      fputs(super,finp);
                      fputc('\n',finp);
                      super = "";
                  }
            }
        }
    }
 
    fclose(fout);
    fclose(finp);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.09.2013, 20:27
Ответы с готовыми решениями:

Не могу понять в чем ошибка и как её исправить
Составить программу, которая демонстрирует использование структур для описания объектов. В состав...

Не могу понять, что за ошибка и как устранить
Создал в CodeGear™ RAD Studio 2009 свою первую прогу на С++, &quot;Hello World!&quot;. #include...

Не могу понять в чем ошибка и как её исправить. (16 строка)
#include &lt;iostream&gt; using namespace std; class address { private: string city; string...

Есть ошибка не не могу понять где она и как исправить
Здравствуйте мне дали дали задание для создание программы которая будет как каталог . То есть...

3
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
26.09.2013, 20:35 2
Цитата Сообщение от Prokhoroff Посмотреть сообщение
C++
1
2
3
char * alf_buf = "";
* * int detect_alf = 0, len = 0;
* * char * super ="";
Не выделили память под *char, а уже используете? Не надо так..

Не по теме:

А вообще, почему у вас finp используется для вывода, а fout для ввода? О_о (по названием же наоборот должно быть)

0
3 / 3 / 2
Регистрация: 18.09.2013
Сообщений: 30
26.09.2013, 21:03  [ТС] 3
Простите а как её выделить? Приведите пример в коде если не трудно.
0
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
26.09.2013, 21:15 4
Prokhoroff, со строками.
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
 
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <iostream.h>
#include <string.h>
 
void errorfile();
void parsing_file_1();
void parsing_file_2();
 
FILE *fout, *finp;
 
int main()
{
    errorfile();
    parsing_file_1();
 
    return 0;
}
 
void errorfile()
{
    fout = fopen("fileout.txt","r");
 
    if(fout == NULL)
    {
        printf("Error open file fileout.txt\n");
        exit(0);
    }
 
    finp = fopen("fileinp.txt","a+");
 
    if(finp == NULL)
    {
        printf("Error open file fileinp.txt\n");
        exit(0);
    }
}
 
void parsing_file_1()
{
    char *alf_buf = new char[2]; alf_buf[1] = '\0';
    int detect_alf = 0, len = 0;
    char * super = new char[512]; super[0] = '\0';
 
    while(!feof(fout))
    {
        *alf_buf = fgetc(out);
 
        detect_alf = isalpha(*alf_buf);
 
        if(detect_alf != 0)
        {
            strcat(super,alf_buf);
            
            len = strlen(super);
 
            if(len >= 2)
            { 
                  if(detect_alf == 0)
                  {
                      fputs(super,finp);
                      fputc('\n',finp);
                      super = "";
                  }
            }
        }
    }
 
    fclose(fout);
    fclose(finp);
}
Вроде бы вот так должно быть (не проверял, не компилировал, не знаю, что оно должно делать)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.09.2013, 21:15

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Ошибка запроса, не могу понять как надо
Добрый день, выскакивает ошибка &quot;Incorrect integer value:&quot; имя столбца запрос отсылаю в БД,...

Не могу понять в чем ошибка и как ее исправить
Ошибка возникает в строке Chart1.Series.AddXY(x,y); Сам код unit Unit1; interface uses ...

Разборка файла как json. Ошибка, не могу понять где
Привет! Пытаюсь вытащить из файла market_hash_name Сформировал классы - class bit_item...

Direct2D ошибка доступа, не могу понять как выделить память
Привет! Решил попробовать сделать что-то на Direct2D. Захотел загрузить файл с картинкой и вывести...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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