Hirdetés

2024. június 2., vasárnap

Gyorskeresés

Hozzászólások

(#1001) WonderCSabo


WonderCSabo
félisten

Üdv!

Nagyon szégyellem magam, hogy felteszem ezt a kérdést, de nem tom miért nem működik a dolog. :W

Kezdek megőrülni. Egy bonyolult dolgot írok, de vmiért még az alapvető dolgok sem működnek.

Lebontottam alap példára:
ha '+' vagy '-' stb a karakter, akkor írja ki "jo"
ha egyéb más, akkor írja ki: "nem"

Nekem ezzel a kóddal bmely karakterre "jo"-t ír, miért? :S

#include <iostream>
using namespace std;

int main()

{ char c='6';
if(c == '+' || '-' || '*' || '^' || '/' || '%')
{
cout<<"jo";
}
else {cout<<"nem";}
return 0;
}

(#1002) WonderCSabo válasza WonderCSabo (#1001) üzenetére


WonderCSabo
félisten

Hülye vagyok, megvan:

if(c == '+' || c =='-' || c =='*' || c =='^' || c =='/' || c =='%')

(#1003) j0k3r! válasza WonderCSabo (#1001) üzenetére


j0k3r!
senior tag

#include <iostream>
using namespace std;

int main()

{ char c='+';
if(c == '+' || c == '-' || c == '*' || c == '^' || c == '/' || c == '%')
{
cout<<"jo";
}
else {cout<<"nem";}
return 0;
}

nalam igy mukodik

szerk: kozben latom meglett

[ Szerkesztve ]

some men just wanna watch the world burn...

(#1004) Jester01 válasza WonderCSabo (#1002) üzenetére


Jester01
veterán

Vagy: if (strchr("+-*^/%", c))

Jester

(#1005) Dave-11


Dave-11
tag

Sziasztok!
Letöltöttem egy NetBeans 6.9.1 -es verziót, és kéne hozzá compiler, ami leellenőrzi a készített fájlokat, meg amivel le tudnám futtatni őket, de sehogysem jön össze :( Próbáltam a cygwin nevű programmal. Ki kell választani a Beans mappájában a "base directory"-t, de azt írja nincs compiler azt adott mappában, pedig YouTube-os videótutorialokon ugyanezt csinálják. Nem értem :F
Kérlek segítsetek!

:D Semmi :D

(#1006) Jhonny06 válasza Dave-11 (#1005) üzenetére


Jhonny06
veterán

C++-hoz miért NetBeans? Devcpp/VS C++ Express jobb. Ezekkel nem kell szarakodni, felrakod és kész.

[ Szerkesztve ]

(#1007) Dave-11 válasza Jhonny06 (#1006) üzenetére


Dave-11
tag

Köszi, már megtaláltam azt a progit.

:D Semmi :D

(#1008) PazsitZ válasza Dave-11 (#1005) üzenetére


PazsitZ
addikt

Nagyon nem ajánlom. cygwin-el nekem sem ment.
MinGW-t raktam fel végül, de az pedig olyan hibákat dobált, amelyeket nem is tudtam feloldani. Az időm nagy részét azzal k*rtam el, hogy ezeket próbáltam javítani/debuggolni.
Kipróbálva winen dev-cpp-ben és linuxon gcc-vel a kódom simán fordult és amivel azelőtt napokig szenvedtem egy nap alatt összeraktam.
Szóval max fejlesztésre, de fordításra nem ajánlom a netbeans esetleges megoldását. :(

note: Azért próbálkoztam netbeans-el, mert addig php,java fejlesztésre ezt használtam, megszoktam és szeretem.

[ Szerkesztve ]

- http://pazsitz.hu -

(#1009) Sk8erPeter


Sk8erPeter
nagyúr

Sziasztok!

Van egy grafika házim, a lényege, hogy egérrel kell mászkálni labirintusban, nem is nagyon részletezném, igazából csak C++ szintaktikai kérdésem van:
ha így példányosítom az osztályt (globálisan elérhető lesz, mert a feladat miatt így kell most megcsinálnom):
My_Mouse_Class MyMouse();
és aztán így hívom meg egy függvényen belül:
MyMouse.Display();

Akkor Visual Studio hibaüzenete:
"Error: expression must have class type"

Ha viszont így példányosítom:
My_Mouse_Class MyMouse;
és ugyanúgy hívom meg:
MyMouse.Display();
akkor semmi baja.
Egyetlen különbség a hibás változathoz képest a zárójel hiánya.

A My_Mouse_Class konstruktora maga semmi különlegesség, egyelőre üres, csak inicializáló lista van ott:
My_Mouse_Class(void): mouse_x(0.0), mouse_y(0.0) {
}

Vajon a void kulcsszó miatt van az eredeti hiba? A fordító ilyenkor hibát érzékel, ha mégis a zárójeles módon hívjuk a konstruktort? Nem, a void tök mindegy, ott van-e. Legalábbis tippre amúgy is "odafordítódik".
Vagy miért?
Lehet, hogy rég volt C++, de hirtelen nem vágom a magyarázatot.

[ Szerkesztve ]

Sk8erPeter

(#1010) Jester01 válasza Sk8erPeter (#1009) üzenetére


Jester01
veterán

Azért van mert a csoda c++ nyelvben bizonyos dolgok kétértelműek. A te My_Mouse_Class MyMouse(); sorod egy függvény prototípus lett, mégpedig egy MyMouse függvényé ami nem vár paramétert és visszatér egy My_Mouse_Class példánnyal.

Jester

(#1011) doc válasza Jester01 (#1010) üzenetére


doc
nagyúr

szerintem ez teljesen egyertelmu, az egy fuggvenydeklaracio es kesz :)
az igaz, hogy hasonlit a szintakszisa a valtozodefiniciohoz, de ettol meg nem lesz ketertelmu

(#1012) Sk8erPeter válasza doc (#1011) üzenetére


Sk8erPeter
nagyúr

Jester01, doc, köszi szépen, most valahogy ez a lehetőség egyáltalán nem jutott eszembe, pedig így magyarázat után tök triviális. :D Kicsit nem ártott volna gondolkodni, dehát van ez így olykor. :)
:R

Sk8erPeter

(#1013) #10382336


#10382336
törölt tag

Sziasztok!

Egy olyan kérdésem lenne, hogy dev-c++ -ban hogyan lehet a console ablakot eltüntetni?
Pl.: ha csak form, vagy egy alkalmazás elindítására szeretném használni.

HWND hWnd = GetConsoleWindow();
ShowWindow( hWnd, SW_HIDE );

Ha ezt a két sort alkalmazom, akkor ugyan rövidebb ideig, de mégiscsak felbukkan az ablak.
:W

(#1014) #10382336 válasza #10382336 (#1013) üzenetére


#10382336
törölt tag

Nagyon amatőr kérdés volt.

Eszközök >> Fordító beállításai >> Beállítások >> Linker
>> Konzol ablak használatának tiltása: Yes

Bocsi mindenkitől a hülye kérdésért. :((( :(((

(#1015) Berenyimiki


Berenyimiki
csendes tag

Szép napot Mesterek!

Egy olyan kérdéssel fordulok hozzátok, h van egy feladatom, ami így hangzik:

"Az adat1.txt szöveges állomány legfeljebb 7 hasznos jelből álló kódokat tárol újsor jellel lezártan.
Írjon olyan programot, ami meghatározza, hogy az adat1.txt állományban hány darab adott kódú tétel szerepel! A kódot parancssori argumentumként adjuk meg (például legyen a kód AI-N10)!"
Az lenne a kérdésem, h mit jelent az h "A kódot parancssori argumentumként adjuk meg (például legyen a kód AI-N10)!"

Az adat1.txt így néz ki: AI-N10
AI-N10
AG-L08
AG-N10
AM-L
AG-L07
AI-L10
AG-L09
AM-L08
AG-N07
AG-L09
AI-N07
AI-N10
AI-N09
AI-N09
TMI-L09
.
.
.

Köszi a segítséget!

[ Szerkesztve ]

Emlékezz arra, hogy a kosárlabda a viselkedés játéka: ha eléred, hogy az ellenfeled másképp viselkedjen, mint ahogyan szokott legyőzöd-Bill Russel

(#1016) WonderCSabo válasza Berenyimiki (#1015) üzenetére


WonderCSabo
félisten

[link]

[ Szerkesztve ]

(#1017) PazsitZ válasza Berenyimiki (#1015) üzenetére


PazsitZ
addikt

Azt, hogy megírod a progit, lefordítod és így hívod meg: prog AI-N10
így a programod parancssorból mint argumentum kapja meg a keresendő kódot.
[link]

- http://pazsitz.hu -

(#1018) Berenyimiki válasza PazsitZ (#1017) üzenetére


Berenyimiki
csendes tag

Köszi a segítséget!

További szép napot! :C

Emlékezz arra, hogy a kosárlabda a viselkedés játéka: ha eléred, hogy az ellenfeled másképp viselkedjen, mint ahogyan szokott legyőzöd-Bill Russel

(#1019) #10382336


#10382336
törölt tag

Sziasztok!

A következő kóddal lenne problémám.

BSTR clsname = SysAllocString(L"Win32_OperatingSystem");
BSTR MethodName = SysAllocString(L"Win32Shutdown");
IWbemClassObject* pClsProc = NULL;
IWbemClassObject* pInParams = NULL;
IWbemClassObject* pOutMethod = NULL;
IWbemClassObject* pClsProcInst = NULL;
hres = pSvc->GetObject(clsname, 0, NULL, &pClsProc, NULL);

if( SUCCEEDED(hres) ) {
hres = pClsProc->GetMethod(MethodName, 0, &pInParams,NULL);

if( SUCCEEDED(hres) ) {
hres = pInParams->SpawnInstance(0, &pClsProcInst);

if( SUCCEEDED(hres) ) {
VARIANT pcVal;
VARIANT rsVal;
VariantInit(&pcVal);
pcVal.vt = VT_I4;
pcVal.lVal = 1;
VariantInit(&rsVal);
rsVal.vt = VT_I4;
rsVal.lVal = 0;
hres = pClsProcInst->Put(L"Flags", 0,&pcVal, 0 );
hres = pClsProcInst->Put(L"Reserved", 0,&rsVal, 0);

if( SUCCEEDED(hres) ) {
hres = pSvc->ExecMethod(clsname, MethodName, 0, NULL, pClsProcInst, &pOutMethod, NULL);

if(FAILED(hres)) {
cout << "Could not execute method. Error code = 0x" << hex << hres << endl;
Console::ReadLine();
}
}
VariantClear(&pcVal);
VariantClear(&rsVal);
}
}
}

[link]A kódot ennek az oldalnak a 6. pontja mintájára készítettem.
Az oldalon lévő eredeti kóddal nincs is probléma. Azonban a fenti kódot sehogy sem tudom működésre bírni.
Futtatás alatt ahogy a "hres = pSvc->ExecMethod(clsname, MethodName, 0, NULL, pClsProcInst, &pOutMethod, NULL);" részhez ér, ezt a hibaüzenetet írja ki: 0x8004102f
[link]Win32Shutdown -leírása itt.
Ha valaki tudja a hiba okát, kérem segítsen.

Köszi.

(#1020) dani0907


dani0907
csendes tag

Üdv!
Valaki el tudná mondani hogyan kéne nekiállni / (mi a lényege) ennek a feladatnak?

Készítsen tetszőleges hosszúságú sorokból álló szöveges
állományt reprezentáló objektumot! Valósítsa meg a grep(1)
nevű UNIX program néhány, Ön által kiválasztott funkcióját!

(#1021) Sk8erPeter válasza dani0907 (#1020) üzenetére


Sk8erPeter
nagyúr

Hehe, csak nem "Szoftver laboratórium 2." BME-n? :DD

Az első mondat annak idején nálam is ugyanez volt, csak nekem a tail programot kellett elkészítenem.
A tetszőleges hosszúságú sorokból álló szöveges állományt reprezentáló objektum vizsgálgatásához én cirkuláris buffert készítettem, ami tulajdonképpen egy olyan tároló, amibe folyamatosan pakolgatod bele az elemeket (én a tároló egy adott "rekeszében" a sorokat tároltam \n-ig), és amikor a tároló megtelt, akkor elkezded újból elölről feltöltögetni a tárolódat, és ezen végezgeted a grep-vizsgálatot. Ez azért jó, mert tulajdonképpen tetszőleges hosszúságú sorokból álló szöveges állományt tudsz vizsgálgatni, nem állhat elő olyan helyzet, hogy már olyan brutálisan sok memóriát foglaltál, hogy egyszerűen nincs több szabad memória (mert mondjuk minden szart eltárolsz), viszont talán egész hatékonynak mondható módja a tárolásnak.
Ja, és gondolom nálatok is úgy van, hogy STL-t nem lehet használni, így saját tárolót kell írni.

A grep mondjuk elég összetett, ahogy a példa írja, válassz ki néhány megvalósítandó funkciót, ami nem tűnik olyan brutálnak (vagy ahogy érzed :D), amikhez a megfelelő kapcsolók tartoznak, és azokat írd meg. Kezdd el írni, és ha elakadtál, konkrétan kérdezz rá, hogy mire gondoltál, mi nem megy, hogy szeretnéd megvalósítani, és akkor tovább is tudunk segíteni remélhetőleg.

Sk8erPeter

(#1022) dani0907 válasza Sk8erPeter (#1021) üzenetére


dani0907
csendes tag

Rendben, köszönöm :R

(#1023) bpx válasza Sk8erPeter (#1021) üzenetére


bpx
őstag

ezt se hallottam még, hogy ennek a módszernek ilyen szép neve van, hogy "cirkuláris buffer" :D

(#1024) dani0907 válasza Sk8erPeter (#1021) üzenetére


dani0907
csendes tag

Ebben a feladatban kérnek még operátor átdefiniálást, és iterátort, csak azokat nem írtam oda. Na most operátor átdefiniálásnak ebbe a feladatban van értelme? csak mert minden feladathoz be van vágva szerintem ez a feladatrész. Monjduk a + két file-t összefűz vagy nemtudom mi lehetne még. Az iterátort pedig még nem tanultuk :D

(#1025) Sk8erPeter válasza dani0907 (#1024) üzenetére


Sk8erPeter
nagyúr

Hát amit én annak idején megcsináltam operátor-átdefiniálással, az a sorok tárolására szolgáló osztályban a következő:

string& operator[] (int n) // Indexoperátor a tároló megadott elemének elérésére (pl. itt egy adott sor)
Ez_a_te_taroloosztalyod& operator= (const Ez_a_te_taroloosztalyod&) // egyenlőség operátor a másik tároló lemásolására

a tárolóosztályon belüli belső iterátor osztályban ezek lehetnek:

void operator++ () // pre-increment növelés
void operator++ (int n) // post-increment növelés
bool operator== (const iterator &other) const // egyenlő-e a két iterátor
bool operator!= (iterator &other) // egyenlő-e a két iterátor
string & operator* () // iterátor indirekció

Tehát mint látható, igazából az iterátor osztályhoz kell pár operátor-átdefiniálással járó cucc, de amúgy tényleg nem kell annyira erőltetni.
Legalábbis nekem most épp nem jut eszembe más, de aztán amikor a feladatot megoldogatod, küldözgethetsz ide státuszjelentéseket, ha nem klappol valami, vagy eszedbe jutott újabb dolog, és akkor lehet, hogy még felmerül, hogy mégis kéne valami operátor-átdefiniálós metódus.

Egykori előadónk honlapján megtalálsz egy konkrét példát az iterátor osztályról: [link]

Bár feltételezem a feladatleírásból, Te is BME-re jársz, Szebihez, vagy tévednék? :)

[ Szerkesztve ]

Sk8erPeter

(#1026) dani0907


dani0907
csendes tag

Igen Szebihez járok :DDD
A héten kellett bemutatni a specifikációt, aztán nem irtam bele semmit az operátor-átdefiniálással kapcsolatban, de nem is szólt érte egyáltalán a lab vezér.

(#1027) Gyuri16


Gyuri16
senior tag

segitseget kernek pointerek vs operator overloading temaban. egy fa adatstrukturat csinalok, ahol minden node-nak lehet valamennyi pointere a gyerekeire. ezt egy vector<Node*> segitsegevel kepzeltem. elore kell lefoglalni a kontruktorban megadott szamu pointernek a tombot (akkor is ha null lesz csak az erteke) es fokozatosan hozzaadni a gyerekeket (tudom, hogy lehet jobban is, azt kesobb csinalom. a feladat osszehasonlitani a kulonbozo megoldasokat). szeretnek a Node osztalynak egy [] operatort, amivel a gyerekekhez pointerekkent lehetne hozzaferni. egyelore mindig referenciakkal csinaltam hasonlot,megmutatom mire jutottam:

class Node {
public:
int sigma;
// Node** child;
vector<Node*>* child;
int value;
Node(int sigma);
~Node();
Node& operator[](const int index);
};

Node& Node::operator[](const int index) {
return *(*child)[index];
}

Node::Node(int sigma): sigma(sigma), value(0) {
/* child = new Node *[sigma];
for (int i = 0; i < sigma; i++) {
child[i] = NULL;
}*/

child = new vector<Node*>(sigma);
}

Node::~Node() {
/* for (int i=0; i < sigma; i++) {
if (child[i] != NULL) {
delete child[i];
}
}
delete [] child;
*/

for (vector<Node*>::iterator it = child->begin(); it < child->end(); ++it) {
delete *it;
}
delete child;
}

ami a kommentarokban van, az a regi megoldas tombokkel ami mukodik is jol, olyat szeretnek csak vectorral es operatorral, tehat ami eddig n->child[i ] volt az legyen n[i ] .

ezt az osztalyt kesobb szeretnem igy hasznalni:

Node n = new Node(10);
Node n[0] = new Node(10);
stb..

remelem ertheto mi a problema, koszonom elore a segitseget.

[ Szerkesztve ]

Nem vagyok egoista, csak uborkagyalu!

(#1028) Gyuri16 válasza Gyuri16 (#1027) üzenetére


Gyuri16
senior tag

ok, ez igy hulyeseg :)

kozben rajottem, mi volt a lenyegi gond, tehat az operator[] fv-nek egy referenciat kell visszaadni, itt konkretan egy pointerre.
erre jutottam, leirom azoknak, akik az elozot elolvastak es nem ertik min kinlodok :)
(ha esetleg lehet jobban, szoljatok)

#include <iostream>
#include <vector>

using namespace std;

class ChildList {
private:
vector<int *>* v;
public:
ChildList(int n) {v = new vector<int *>(n);}
int* & operator[] (const int index);
};

int * & ChildList::operator[](const int index) {
return (*v)[index];
}

int main(int argc, char **argv) {
ChildList cl(10);
int * a = new int(5);

cl[0] = new int(5);
cl[1] = a;
cout << *cl[0] << *cl[1];

return 0;
}

Nem vagyok egoista, csak uborkagyalu!

(#1029) memphis_19


memphis_19
tag

Sziasztok!

Olyan kérdésem lenne, hogy egy videó fájlt kellene megnyitnom majd lekérdezni a video adatait(időtartam, képkockaszám), ezt hogyan tudnám megoldani?

Köszi a segítséget.

(#1030) FireKeeper


FireKeeper
nagyúr

sziasztok!

hogy tudok visszatérni egy osztály referenciájával? a
return this*; -ra emlékeztem, de azt aláhúzza.

steam, GOG, uPlay: @petermadach || HotS: PeterMadach#2675 || Xperia 10 V || Ultrawide & SFF masterrace || Unofficial and unpaid VXE R1 shill

(#1031) Karma válasza FireKeeper (#1030) üzenetére


Karma
félisten

Hibás a szintaxis. *this-t hamarabb próbálhatsz meg visszaadni.
Osztályreferencia nem nagyon van, szerintem objektumreferenciára gondoltál.

“All nothings are not equal.”

(#1032) WonderCSabo válasza memphis_19 (#1029) üzenetére


WonderCSabo
félisten

Hát, pl. Mediainfo APIval.

(#1033) Sk8erPeter válasza WonderCSabo (#1032) üzenetére


Sk8erPeter
nagyúr

Lehet, hogy kiveri a szememet, és csak én nem veszem észre, de a linken hol látható az API-ról a leírás? :F Meg maguk az osztályok, stb.?

Sk8erPeter

(#1034) j0k3r! válasza Sk8erPeter (#1033) üzenetére


j0k3r!
senior tag

talan ez lesz az.

some men just wanna watch the world burn...

(#1035) WonderCSabo válasza j0k3r! (#1034) üzenetére


WonderCSabo
félisten

Igen, azaz, attem könnyebben megtaláljátok. Köszi.

Szerk.: Egyébként baromira jó cucc ez, rengeteg médielajátszó ezt használja (pl. MPC-HC)

[ Szerkesztve ]

(#1036) DiscoStu


DiscoStu
csendes tag

Helló

C++ órán volt egy feladat. lényege annyi hogy van egy osztály, amiben van két adattag
mindkettő char. Az egyiknél megvan a max méret (4 karakter), a másiknál nincs és kell egy
konstruktor.

igy csináltam:

class a{
char *id;
char *nev;
public:
a(char *id1, char *nev1){
id=new char[5];
strcpy(id, id1);
nev=new char[strlen(nev1+1)];
strcpy(nev, nev1);
}
};

Tanár megoldásában így láttam:
class a{
char id[5];
char *nev;
public:
a(char id1[], char *nev1){
strcpy(id, id1);
nev=new char[strlen(nev1+1)];
strcpy(nev, nev1);
}
};

Mindekettő lefutott helyes kimenetekkel. Mégis mi a különbség? Teljesen jó megoldás
mindkettő? esetleg mitől függ hogy melyik verziót érdemes használni?

előre is köszi

(#1037) j0k3r! válasza DiscoStu (#1036) üzenetére


j0k3r!
senior tag

char *id vs. char id[5]

char *id egy pointer, ami a kezdocime egy karakterlancnak (karaktertombnek), aminek nem tudjuk a hosszat (futasidoben dol el), ezt hasznaljuk dinamikus memoriafoglalasnal.

amit te 2 lepesben tettel meg:
char *id; // definialtal egy pointert
id=new char[5]; // megadtad a meretet

azt o megtette 1 lepesben (kihasznalva, hogy tudjuk elore, hogy max 4 karakter lehet):
char id[5]; // 5 elemu karaktertombot hoz letre

fontos! mindig n + 1 db char-t kell foglalni, mivel van a vegen egy lezaro \0 (amibol kovetkezik, hogy egy karakterlanc elejet a pointer, veget a lezaro \0 hatarozza meg).
egy kis olvasnivalo evvel kapcsolatban: [link]

esetleg mitől függ hogy melyik verziót érdemes használni?

attol, hogy tudod-e elore, hogy maximum (vagy pontosan) mekkora teruletet kell foglalnod.

[ Szerkesztve ]

some men just wanna watch the world burn...

(#1038) j0k3r! válasza j0k3r! (#1037) üzenetére


j0k3r!
senior tag

plusz meg azt is megjegyeznem, hogy a statikus memoriafoglalas gyorsabb, mint a dinamikus memoriafoglalas: [link]

[ Szerkesztve ]

some men just wanna watch the world burn...

(#1039) tamas60


tamas60
csendes tag

Kellene egy olyan program ami nagy négyzetbe optimálisan el tudna helyezni adatbázisban szereplő kis négyzeteket.
Akit érdekel a téma keressen meg.

(#1040) FireKeeper


FireKeeper
nagyúr

sziasztok!

érdekelne, hogy hogy tudok fájlt megnyitni, ha mondjuk a felhasználótól bekérem az elérési utat és a fájlnevet egy stringbe (mondjuk "d:\mappa1\mappa2\file.txt")?

steam, GOG, uPlay: @petermadach || HotS: PeterMadach#2675 || Xperia 10 V || Ultrawide & SFF masterrace || Unofficial and unpaid VXE R1 shill

(#1041) j0k3r! válasza FireKeeper (#1040) üzenetére


j0k3r!
senior tag

hello!

fopen
mivel az elso parameter egy char *, igy szerintem nem lesz vele sok gondod. (de azert erdemes lekezelni a 'hibas' filenevet, valamint a FILE pointert ellenorizni hasznalat elott, valamint nem elfelejteni az fclose-t hasznalat utan)

[ Szerkesztve ]

some men just wanna watch the world burn...

(#1042) WonderCSabo válasza j0k3r! (#1041) üzenetére


WonderCSabo
félisten

Miért nem inkább fstream elemei? Mi azt tanultuk, ezt nem is ismertem. Szóval ez kérdés csak. :)

(#1043) j0k3r! válasza WonderCSabo (#1042) üzenetére


j0k3r!
senior tag

igazabol teljesen jogos, amit mondasz (tavaszi szunet alatt eleg sokat c-ztem, aztan ott nincs fstream osztaly, biztos ezert ugrott be ez elsonek), koszonom a korrigalast :R
szoval akkor fstream :: open (elso parameter valtozatlanul char *), fstream :: is_open, fstream :: close

[ Szerkesztve ]

some men just wanna watch the world burn...

(#1044) FireKeeper válasza j0k3r! (#1043) üzenetére


FireKeeper
nagyúr

az megvan, hogy melyik függvényt kéne használnom (az fstream kell majd), hanem azt nem tudom hirtelen, hogy hogy kell azt kezelni, hogy a fájl nem a .exe mappájában van, hanem egy más elérési úton, hogy hogy kell beparaméterezni a függvényt, hogy bármilyen helyen lévő fájlból tudjon dolgozni.
vagyis a felhasználó megadja az elérési utat és a fájlnevet, és nekem utána ebből kell dolgoznom.

steam, GOG, uPlay: @petermadach || HotS: PeterMadach#2675 || Xperia 10 V || Ultrawide & SFF masterrace || Unofficial and unpaid VXE R1 shill

(#1045) j0k3r! válasza FireKeeper (#1044) üzenetére


j0k3r!
senior tag

elvileg validalod az inputot, aztan osszefuzod egy stringbe(char *), aztan azt adod at az open-nek. pelda

[ Szerkesztve ]

some men just wanna watch the world burn...

(#1046) FireKeeper válasza FireKeeper (#1044) üzenetére


FireKeeper
nagyúr

azt már próbáltam,hogy a fájlnév helyére az elérési utat adom be de úgy nem működött (nem lepődtem meg rajta :D ).

steam, GOG, uPlay: @petermadach || HotS: PeterMadach#2675 || Xperia 10 V || Ultrawide & SFF masterrace || Unofficial and unpaid VXE R1 shill

(#1047) FireKeeper válasza j0k3r! (#1045) üzenetére


FireKeeper
nagyúr

áh köszönöm erre voltam kíváncsi!
örök hála :R

steam, GOG, uPlay: @petermadach || HotS: PeterMadach#2675 || Xperia 10 V || Ultrawide & SFF masterrace || Unofficial and unpaid VXE R1 shill

(#1048) WonderCSabo válasza j0k3r! (#1043) üzenetére


WonderCSabo
félisten

vagy

string s;
getline(cin, s);
f.open(s.c_str());

fstream :: is_open helyett én fstream::good -ot szoktam használni

(#1049) dani0907


dani0907
csendes tag

Sziasztok!
Van egy prog házim, és az lenne a gond hogy a feladatbeküldő rendszer memóriaszivárgást észlel (cporta, BME-seknek ismerős), de kipróbáltam Visual studioval, codeblocks-szal is és egyik se jelzett memóriaszivárgást.azt javasolták hogy ne fájlból olvassak D: de én úgy akarok:P Valaki tudna segíteni?

HPP: http://pastebin.com/zjt6jz23
CPP: http://pastebin.com/313KN2h0
az example.datból olvasunk be
feladat:
Készítsen tetszőleges hosszúságú sorokból álló szöveges
állományt reprezentáló objektumot! Valósítsa meg a grep(1)
nevű UNIX program néhány, Ön által kiválasztott funkcióját!

(#1050) Sk8erPeter válasza dani0907 (#1049) üzenetére


Sk8erPeter
nagyúr

Nem láttam még a kódodat (amúgy elég bátor dolog felrakni pastebin-re, később ezzel vigyázz, mert "Számítógépes grafika és képfeldolgozás" tárgyból emiatt könnyen plágiumvád érhet! - még ha a Te kódod is került fel netre...), DE
ide pont leírtam, hogyan lehet detektálni a memóriaszivárgás forrását: [link]

Szerk.: félreértés ne essék, pastebin-re felrakni a kódot egyébként nagyon is jó dolog, csak ha para lehet belőle mondjuk házinál vagy egyéb esetben, akkor nem biztos, h jó ötlet.

[ Szerkesztve ]

Sk8erPeter

Copyright © 2000-2024 PROHARDVER Informatikai Kft.