| | |
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Autor | Správa |
---|
Registrovaný: 19.10.10 Prihlásený: 28.10.12 Príspevky: 41 Témy: 9 |
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.
|
|
Registrovaný: 11.01.09 Prihlásený: 26.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 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.
|
|
Registrovaný: 19.10.10 Prihlásený: 28.10.12 Príspevky: 41 Témy: 9 | Napísal autor témy zaefrim: 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
|
|
Registrovaný: 11.01.09 Prihlásený: 26.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 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. |
|
Registrovaný: 19.10.10 Prihlásený: 28.10.12 Príspevky: 41 Témy: 9 | Napísal autor témy zaefrim: 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íspevkutak 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...
|
|
Registrovaný: 11.01.09 Prihlásený: 26.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 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.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| nacitanie obsahu suboru v PHP, ASP | 4 | 1012 | 13.02.2009 17:55 _fortes_ | | nacitanie obsahu suboru do premennej v JavaScript, VBScript, Ajax | 9 | 1091 | 05.03.2008 13:45 stenley | | Načítanie obsahu v HTML, XHTML, XML, CSS | 11 | 758 | 12.12.2010 15:40 evryl | | Načítanie do poľa v PHP, ASP | 6 | 445 | 07.02.2008 21:32 xxxmiroxxx | | nacitanie obsahu php v PHP, ASP | 2 | 721 | 20.09.2010 17:06 elo | | Nacitanie obsahu PHP subora na serveri v PHP, ASP | 4 | 430 | 25.12.2010 23:44 Blackshadow | | Nacitanie suboru v Assembler, C, C++, Pascal, Java | 5 | 575 | 23.08.2014 21:35 nasm | | postgresql nacitanie suboru v Databázy | 6 | 576 | 15.08.2012 19:13 zdeniatqo | | Nacitanie CSS suboru v PHP, ASP | 12 | 760 | 28.02.2008 20:58 Tominator | | [C] Výpis zo súboru do pola v Assembler, C, C++, Pascal, Java | 2 | 442 | 05.11.2012 20:53 ado130 | | nacitanie suboru s adresaru v Assembler, C, C++, Pascal, Java | 3 | 692 | 25.11.2010 15:00 ado21 | | Načítanie kódu HTML z iného súboru v HTML, XHTML, XML, CSS | 11 | 1862 | 23.02.2020 21:58 JanoF | | [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 | | efektivne nacitanie suboru do pamati v c v Assembler, C, C++, Pascal, Java | 4 | 2345 | 05.07.2011 14:53 v.tkac | | [C]funkcie, nacitanie a porovnanie zo suboru v Assembler, C, C++, Pascal, Java | 6 | 1299 | 31.03.2015 17:47 dany2281995 | | Nacitanie dat z unl/txt suboru do oracle v Databázy | 8 | 1466 | 31.10.2008 20:08 El_locco |
| 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
|
|