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

Необработанное исключение - C++

Восстановить пароль Регистрация
 
mx_sagat
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 100
12.01.2014, 08:20     Необработанное исключение #1
есть программный код на поиск самой длинной последовательности чисел в файле с последующим её копированием в другой файл
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
#include "stdafx.h"
 
 
 
#include <ctype.h>
#include <iostream>
#include <stdio.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
FILE* f=fopen("in.txt","rb"); // открыть файл
FILE* f1=fopen("out.txt","wb");
 
char c; // читаемый символ
char s [10] = ""; // рез строка
char s1 [10] = "";
do 
{ c=fgetc(f);
if (isdigit(c)) { strcat(s,(char*)c); break; }
else {if (strlen(s)>strlen(s1))
strcpy(s1,s);
strcpy(s,"");
}
}
while (feof(f));
 
 
fputs(s1,f1);
 
fclose(f1);
fclose(f);
return 0;
}
но при запуске возникает такая ошибка
Необработанное исключение в "0x0fd0d2d1 (msvcr100d.dll)" в "a.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000035".

подскажите пожалуйста в чём тут ошибка?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2014, 08:20     Необработанное исключение
Посмотрите здесь:

C++ Необработанное исключение
C++ Необработанное исключение
Необработанное исключение C++
Необработанное исключение C++
C++ Необработанное исключение
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,841
Записей в блоге: 2
Завершенные тесты: 1
12.01.2014, 12:04     Необработанное исключение #2
C++
1
(char*)c
че это?
mx_sagat
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 100
12.01.2014, 12:10  [ТС]     Необработанное исключение #3
указатель на символ в конце троки если не ошибаюсь
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
12.01.2014, 12:19     Необработанное исключение #4
C++
1
2
3
4
5
6
7
if (isdigit(c)) 
{ 
    int L=strlen(s);
    s[L]=c;  // добавляем символ в конец строки
    s[L+1]=0; //передвигаем признак конца строки 
    break; 
}
mx_sagat
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 100
12.01.2014, 17:30  [ТС]     Необработанное исключение #5
zss, но тогда она будет копировать ток один символ.
не совсем то, может подскажешь как сделать что бы она копировала примерна по такому принципу
in.txt:

5445a 45454554
454545 34 45454545
333
fdf099999999

out.txt:
099999999
Yandex
Объявления
12.01.2014, 17:30     Необработанное исключение
Ответ Создать тему
Опции темы

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