[ Príspevkov: 5 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
c++ main return exception

Registrovaný: 01.02.08
Prihlásený: 10.04.15
Príspevky: 31
Témy: 11 | 11
NapísalOffline : 12.07.2012 11:19 | c++ main return exception

Zdravim,
Chcel by som sa opytat co moze sposobit ze program padne pri return.
Mam program ktory ma nacitat cisla zo suboru a zapisat ich binarne do ineho suboru. Program prebehne bez problemov ale ked pride ku return tak padne s chybou 0x00..005 access violation.

Kód:
#include <stdio.h>
#include <windows.h>
#include <string.h>

bool m_fgets(FILE *f, char *s_in)
{
    int i=0;
    char c;
    while (1)
    {
        if (fscanf(f, "%c", &c)>0)
        {
            if ((c!='\n') && (c!=10))
            {
                s_in[i]=c;
            }
            else
            {
                s_in[i]=0;
                return true;
            }
        }
        else
        {
            s_in[i]=0;
         return false;
        }
       
        i++;
    }
}

int main(int argc, char *argv[])
{
    float num;
    int inum;
    char nazov[50];
    char *readed;
    FILE *fr=NULL, *fw=NULL;
    readed = new char[20];
   
    if (argc<2)
    {
        printf("nazov suboru: ");
        scanf("%s", nazov);
        getchar();
    }
    else
    {
        strcpy(nazov, argv[1]);
    }
   
    fr=fopen(nazov, "r");
    nazov[strlen(nazov)-3]='d';
    nazov[strlen(nazov)-2]='a';
    nazov[strlen(nazov)-1]='t';
    fw=fopen(nazov, "wb");
   
    m_fgets(fr, readed);
    inum=atoi(readed);
    fwrite(&inum, sizeof(int), 1, fw);
   
    while (m_fgets(fr, readed))
    {
        num=atof(readed);
        fwrite(&num, sizeof(float), 1, fw);
    }
   
    fclose(fw);
    fclose(fr);
    delete []readed;
   
    printf("aaegaeg\n");
    getchar();
   
    return 0;
}



Offline

Skúsený užívateľ
Skúsený užívateľ
c++ main return exception

Registrovaný: 11.01.09
Prihlásený: 25.12.24
Príspevky: 1395
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOffline : 12.07.2012 12:00 | c++ main return exception

V prvom rade sa treba rozhodnut, ci bude program v C alebo v C++ lebo toto nie je ani jedno. Blizsie to ma k Cecku, tak miesto new/delete daj malloc/free a includni header stdlib.h.

Ak to ma robit iba to ze z textoveho suboru precita cisla a ulozi ich do binarneho, preco to robis tak komplikovane? Ved ti staci precitat priamo cislo ( int, double, neviem ake velke potrebujes citat ) a hned ho ulozit do binarneho suboru. Odpada ti tak pracne citanie po znakoch, ktore je v tomto pripade aj uplne zbytocne.
Co sa tyka chyby, mne to ziadnu nehodi ( po hore spomenutej uprave kodu ), je mozne ze zalezi aj od vstupu, ktory mu davas, ja som si vytvoril len provizorny, 5 riadkovy subor s 5-cifernymi cislami.


Offline

Užívateľ
Užívateľ
c++ main return exception

Registrovaný: 01.02.08
Prihlásený: 10.04.15
Príspevky: 31
Témy: 11 | 11
Napísal autor témyOffline : 12.07.2012 12:18 | c++ main return exception

Tak som to upravil. Co sa tej chyby tyka, ked spustim program a vstup zadam tak to funguje ale ked na textovy subor kliknem pravym, dam Open with a zvolim si tento program, tak to tiez funguje ale na konci to znova hodi tu chybu. Robil som viac programov s main(int argc, char *argv[]) ale toto je prvy ktory poriadne nefunguje.


Offline

Skúsený užívateľ
Skúsený užívateľ
c++ main return exception

Registrovaný: 11.01.09
Prihlásený: 25.12.24
Príspevky: 1395
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOffline : 12.07.2012 12:41 | c++ main return exception

Ak teda vravis, ze pri priamom zadani suboru v programe ti to ide ( vtedy zadavas zrejme iba nazov z aktualnej zlozky, cize je krakty ), ale pri moznosti "Open with" to robi hluposti ( vtedy je do parametra prikazoveho riadku vlozeny cely nazov suboru, cize moze byt dost dlhy C:\Document and .... ), navrhol by som ti zvysit velkost premennej nazov aspon na 255, ci to pojde korektne.


Offline

Užívateľ
Užívateľ
c++ main return exception

Registrovaný: 01.02.08
Prihlásený: 10.04.15
Príspevky: 31
Témy: 11 | 11
Napísal autor témyOffline : 12.07.2012 12:43 | c++ main return exception

To pomohlo, diky.


 [ Príspevkov: 5 ] 


c++ main return exception



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

C# stack overflow exception

v Technológia .NET

2

564

22.08.2015 22:53

p4tooo

V tomto fóre nie sú ďalšie neprečítané témy.

CUSTOM CSS FOR MAIN CONTENT AREA ONLEY FOR MAIN PAGE

v HTML, XHTML, XML, CSS

6

626

29.10.2013 15:21

Beatdownhaus

V tomto fóre nie sú ďalšie neprečítané témy.

out of bound exception, filtering jTable

v Assembler, C, C++, Pascal, Java

1

312

08.05.2014 2:33

matwej

V tomto fóre nie sú ďalšie neprečítané témy.

error handling - trigger_error vs throw Exception

v PHP, ASP

3

603

19.04.2011 15:31

ThePlaky

V tomto fóre nie sú ďalšie neprečítané témy.

Main Concept

v Video programy

1

566

05.03.2009 23:56

embrio28

V tomto fóre nie sú ďalšie neprečítané témy.

return Unexpected token

v JavaScript, VBScript, Ajax

2

638

25.02.2012 18:45

iop

V tomto fóre nie sú ďalšie neprečítané témy.

Obchod Tenis Return

v Obchody, reklamácie a právo

2

797

03.07.2010 13:30

petKO

V tomto fóre nie sú ďalšie neprečítané témy.

Funkcia return vysledok;

v Assembler, C, C++, Pascal, Java

2

380

25.10.2014 10:37

dany2281995

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc XMLHttpRequestObjekt RETURN

v JavaScript, VBScript, Ajax

20

1074

08.10.2009 10:07

pilná lama glama

V tomto fóre nie sú ďalšie neprečítané témy.

curl return html

v PHP, ASP

4

441

16.10.2011 16:26

Dawn

V tomto fóre nie sú ďalšie neprečítané témy.

Main Admin Security

v Redakčné systémy

0

502

14.10.2006 14:55

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

multiple definition of main

v Assembler, C, C++, Pascal, Java

15

553

08.11.2011 21:29

street_punk

V tomto fóre nie sú ďalšie neprečítané témy.

RETURN TO CASTLE WOLFENSTEIN

v Počítačové hry

18

1490

18.09.2006 19:20

Harlequin

V tomto fóre nie sú ďalšie neprečítané témy.

OSD main controls locked

v Monitory, televízory a projektory

3

1876

15.08.2010 14:11

KocuR

V tomto fóre nie sú ďalšie neprečítané témy.

multiple definition of main

v Assembler, C, C++, Pascal, Java

14

826

27.06.2008 21:17

chrono

V tomto fóre nie sú ďalšie neprečítané témy.

return confirm() pred jQuery.load()

v JavaScript, VBScript, Ajax

2

488

13.10.2010 15:42

emer



© 2005 - 2024 PCforum, edited by JanoF