Kezdőoldal » Számítástechnika » Programozás » Mi a hiba (C++ fájlkezelés)?

Mi a hiba (C++ fájlkezelés)?

Figyelt kérdés

Az alábbi cpp kód elakad a feltételnél az utolsó(14.) sorban:

[link]


létezik a fájl, sima string literal-ból meg is eszi a fájlnevet, de a változó nem jó neki



2013. jan. 29. 17:43
 1/7 A kérdező kommentje:
legalább valamit valaki :(
2013. jan. 30. 00:07
 2/7 anonim ***** válasza:

Az lesz a baj (szerintem), hogy C++ típusú String objektumot használsz, míg sima, C típusú string literál kellene neki (ami ugye char[] tömb végén '\0' jellel).

Erre megoldás, alakítsd át ilyenné. A string obejtumnak van egy c_str() tagfüggvénye, ami pont erre kell.


Tehát a 13. sor:

img.open(filename.c_str(), std::ios::binary);

2013. jan. 30. 13:58
Hasznos számodra ez a válasz?
 3/7 A kérdező kommentje:

a 9. sorban ez van:


char filename[80];


^^ez egy sima C-style tömb nem?


amúgy meg el sem fogadja azt a függvényt, miért is fogadná, hiszen nincs objektum

2013. jan. 30. 14:05
 4/7 anonim ***** válasza:

Bocsi, ezt benéztem xD

Akkor nem tudom.

Próbálj meg esetleg így beolvasni:


int i=0;

while ((filename[i++]=getchar())!='\n');

filename[i]='\0';


Vagy írd át : string filename-ra és akkor c_str();


Sajnos nincs egyéb ötletem ...

2013. jan. 30. 15:54
Hasznos számodra ez a válasz?
 5/7 A kérdező kommentje:

ezt a beolvasást én azzal helyettesítettem, hogy karakterenként leellenőriztem a tömböt, és minden a helyén, a "cin >> filename" null-terminálja, úgyhogy ott a char tömb, ami TÖK AZONOS a string literallal, amit a függvényhíváshoz írok, csak éppen előbbivel nem megy, utóbbival igen :D


vicces ! :)

2013. jan. 30. 16:24
 6/7 A kérdező kommentje:

közben rájöttem, ha std::ifstream class-ú az img, akkor megy, ha std:fstream, akkor nem


pedig örökli az .is_open() függvényt, tehát még így se mértem

2013. jan. 31. 14:50
 7/7 A kérdező kommentje:
file.open() függvénynél a második paraméternél meg kell adni, hogy (filename, ios::in | ios::binary), plusz még össze kell vagyolni, amit akarsz, most már rájöttem
2013. jan. 31. 19:04

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!