Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 19.10.10
Prihlásený: 28.10.12
Príspevky: 41
Témy: 9
Príspevok NapísalOffline : 26.04.2011 17:03

Zdravim, v subore mam znaky v tvare obdlznika a potreboval by som ich nacitat do dvojrozmerneho pola, pri tejto konstrukcii to funguje:

Kód:
     int j=0;
     char pole[20][20];
   
     FILE *f;                       
     f = fopen("labyrint.txt", "r");
   
    while(fscanf(f,"%s",pole[j]) != EOF){
          j++;             
    }

    fclose(f);


Problem nastane, ked sa v kode nachadza medzera - v tom pripade to pravdaze neprecita ako retazec... Vedel by mi niekto s tymto pomoct? Rozmyslal som nad niecim takymto:

Kód:
     int j=0;
     int i = 0;
     char pole[20][20];
   
     FILE *f;                       
     f = fopen("labyrint.txt", "r");
   
    while(fscanf(f,"%c",pole[j]) != EOF){
          if(pole[j][i] == "\n"){
             j++;
             i = 0;
             }
          i++;             
    }

    fclose(f);


Ale toto nefunguje...Neviem, co s tym. Dakujem za pomoc.


Offline

Skúsený užívateľ
Skúsený užívateľ
nacitanie obsahu suboru do pola v C

Registrovaný: 11.01.09
Prihlásený: 26.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 27.04.2011 8:47

Kód:
while(fscanf(f,"%c",pole[j]) != EOF)

pole[j] je typu char* a ocakava sa char. Takze nacita sa iba jeden znak. Skusal si to zemnit takto:

Kód:
while(fscanf(f,"%c",pole[j][i]) != EOF)
? Lebo hned po tom robis kontrolu: pole[j][i] == "\n"

Potom si uprav v tomto:
Kód:
if(pole[j][i] == "\n"){
             j++;
             i = 0;
             }
          i++;

i = 0; zmen na i = -1. Lebo hned ako vyjdes z bloku sa inkrementuje i z nuly na jednotku, cize prvy index pola ( lepsie povedane nulty ) bude nevyuzity.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 19.10.10
Prihlásený: 28.10.12
Príspevky: 41
Témy: 9
Príspevok Napísal autor témyOffline : 27.04.2011 10:59

pri

Kód:
if(pole[j][i] == "\n")


mi to vyhodi error:

ISO C++ forbids comparison between pointer and integer :(


Offline

Skúsený užívateľ
Skúsený užívateľ
nacitanie obsahu suboru do pola v C

Registrovaný: 11.01.09
Prihlásený: 26.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 27.04.2011 11:16

zmen na:
Kód:
if(pole[j][i] == '\n')


"\n" - je retazec
'\n' - je znak







_________________
Ak potrebujete pomoc s diagnostikou/opravou vasej elektroniky ( notebook, motherboard, GPU, a ine ), kontaktujte ma cez SS.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 19.10.10
Prihlásený: 28.10.12
Príspevky: 41
Témy: 9
Príspevok Napísal autor témyOffline : 27.04.2011 14:15

dakujem, skompilovat to uz ide, lenze ihned po spusteni spadne. V pripade, ze v podmienke cyklu while dam len pole[j] popr. pole, tak to nespadne, ale do pola sa nakopiruje len prvz znak.

// pridané po 2 hodinách 36 minútach od posledného príspevku

tak som to upravil takto:
Kód:
    int j = 0;
    int i = 0;

    ifstream f ("labyrint.txt", ifstream::in);
   
    char znak;

    while(f >> znak){
     if(znak == '\n'){
             j++;
             i = -1;
          }
          pole[j][i] = znak;
          i++;
    }

    f.close();


tentokrat to nespadne, ale vobec mi nebere zo suboru medzery...


Offline

Skúsený užívateľ
Skúsený užívateľ
nacitanie obsahu suboru do pola v C

Registrovaný: 11.01.09
Prihlásený: 26.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 28.04.2011 10:39

Neviem, preco si zrazu presiel na C++ no ale fajn. Uprav si riadok, kde citas znak takto:
Kód:
while( f >> noskipws >> znak )


A tento krat mas opat zle indexovanie pola. Takze v tomto priapde uprav i = -1; na i = 0;. Musis si sledovat, aky index ti zacina, ked pracujes s polom.


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


Podobné témy

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

v PHP, ASP

4

1012

13.02.2009 17:55

_fortes_ Zobrazenie posledných príspevkov

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

v JavaScript, VBScript, Ajax

9

1091

05.03.2008 13:45

stenley Zobrazenie posledných príspevkov

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

v HTML, XHTML, XML, CSS

11

758

12.12.2010 15:40

evryl Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Načítanie do poľa

v PHP, ASP

6

445

07.02.2008 21:32

xxxmiroxxx Zobrazenie posledných príspevkov

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

v PHP, ASP

2

721

20.09.2010 17:06

elo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nacitanie obsahu PHP subora na serveri

v PHP, ASP

4

430

25.12.2010 23:44

Blackshadow Zobrazenie posledných príspevkov

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

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

5

575

23.08.2014 21:35

nasm Zobrazenie posledných príspevkov

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

v Databázy

6

576

15.08.2012 19:13

zdeniatqo Zobrazenie posledných príspevkov

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

v PHP, ASP

12

760

28.02.2008 20:58

Tominator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [C] Výpis zo súboru do pola

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

2

442

05.11.2012 20:53

ado130 Zobrazenie posledných príspevkov

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

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

3

692

25.11.2010 15:00

ado21 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Načítanie kódu HTML z iného súboru

v HTML, XHTML, XML, CSS

11

1862

23.02.2020 21:58

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [Pascal] - písanie do .txt súboru s ponechaním predchodzieho obsahu

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

11

492

19.05.2016 9:37

Miso122 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. efektivne nacitanie suboru do pamati v c

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

4

2345

05.07.2011 14:53

v.tkac Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [C]funkcie, nacitanie a porovnanie zo suboru

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

6

1299

31.03.2015 17:47

dany2281995 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nacitanie dat z unl/txt suboru do oracle

v Databázy

8

1466

31.10.2008 20:08

El_locco 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