Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ 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
Príspevok NapísalOffline : 12.07.2012 11:19

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ý: 29.03.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 12.07.2012 12:00

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
Príspevok Napísal autor témyOffline : 12.07.2012 12:18

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ý: 29.03.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 12.07.2012 12:41

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
Príspevok Napísal autor témyOffline : 12.07.2012 12:43

To pomohlo, diky.


Odpovedať na tému [ Príspevkov: 5 ] 


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

522

22.08.2015 22:53

p4tooo Zobrazenie posledných príspevkov

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

539

29.10.2013 15:21

Beatdownhaus Zobrazenie posledných príspevkov

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

284

08.05.2014 2:33

matwej Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. error handling - trigger_error vs throw Exception

v PHP, ASP

3

568

19.04.2011 15:31

ThePlaky Zobrazenie posledných príspevkov

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

v Video programy

1

533

05.03.2009 23:56

embrio28 Zobrazenie posledných príspevkov

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

v JavaScript, VBScript, Ajax

2

591

25.02.2012 18:45

iop Zobrazenie posledných príspevkov

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

v Obchody, reklamácie a právo

2

748

03.07.2010 13:30

petKO Zobrazenie posledných príspevkov

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

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

2

341

25.10.2014 10:37

dany2281995 Zobrazenie posledných príspevkov

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

v JavaScript, VBScript, Ajax

20

1041

08.10.2009 10:07

pilná lama glama Zobrazenie posledných príspevkov

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

v PHP, ASP

4

401

16.10.2011 16:26

Dawn Zobrazenie posledných príspevkov

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

v Redakčné systémy

0

464

14.10.2006 14:55

JanoF Zobrazenie posledných príspevkov

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

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

15

500

08.11.2011 21:29

street_punk Zobrazenie posledných príspevkov

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

v Počítačové hry

18

1458

18.09.2006 19:20

Harlequin Zobrazenie posledných príspevkov

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

v Monitory, televízory a projektory

3

1819

15.08.2010 14:11

KocuR Zobrazenie posledných príspevkov

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

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

14

765

27.06.2008 21:17

chrono Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prepisanie Return-Path v Postfixe

v Operačné systémy Unix a Linux

0

474

17.09.2016 12:31

JanoF Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra