Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- sidi: 386-os Chicony gázplazma laptop memóriabővítése
- Brogyi: CTEK akkumulátor töltő és másolatai
- GoodSpeed: Pillangóhatás: F billentyű meghibásodása -új gamer számítógépasztal
- eBay-es kütyük kis pénzért
- Geri Bátyó: Agglegénykonyha 9 – Az impulzusvásárlás is lehet tudatos
- tordaitibi: Windows rendszerek indítása EFI partíció nélkül
- potyautas: Idővándor
Új hozzászólás Aktív témák
-
nukeleo
csendes tag
Sziasztok!
Ittlenne a kódom: nem tudom miert csak egy sort olvas be a forrásfájlbol, a bufferba? Segitsetek, lehet a beolvas függvényem nem jo, vagy a buff tárolo, nem tudom...
/*csomo felesleg is van most benne amit nem használtam még, tekintsetek el töle*/
THX nagyon elöre is; nukeleo
#include <cstring>
#include <iostream>
#include <fstream>
using namespace std;
class buffer {
char* buff;
int size;
public:
buffer():buff(0),size(0){}
buffer(const buffer&);
buffer& operator=(const buffer&);
buffer& operator+=(const buffer&);
bool operator==(const buffer&);
buffer& buffer:: operator=(const char*);
buffer& buffer:: operator+=( const char*);
bool buffer:: operator==(const char*);
friend void beolvas(buffer &);
friend void kiir(buffer &);
//void beolvas(const char*);
friend ostream& operator<<(ostream& s, const buffer b);
friend istream& operator>>(istream& s, const buffer b);
~buffer(){ delete[] buff; }
};
/*void beolvas(const char* file)
{
fstream fp(file,ios::in);
char *c = new char[500];
fp.close();
fp>>c;
cout<<c;
}
*/
buffer::buffer(const buffer& e)
{
buff=new char[(size=e.size)+1];
if (e.buff)
strcpy(buff,e.buff);
}
buffer& buffer:: operator+=( const char* value)
{
char* temp=new char[size = strlen(buff)+ strlen(value) +1];
strcpy(temp,buff);
strcat(temp, value);
delete[] buff;
buff = temp;
return *this;
}
buffer& buffer:: operator+=(const buffer& e)
{
char* temp=new char[size+=(e.size+1)];
strcpy(temp,buff);
strcat(temp,e.buff);
delete[] buff;
buff=temp;
return *this;
}
buffer& buffer:: operator=(const char* value)
{
delete[] buff;
if( size=strlen(value))
{
buff=new char[size+1];
strcpy(buff,value);
}
return *this;
}
buffer& buffer:: operator=(const buffer& e)
{
if( this!= &e)
{
delete[] buff;
buff=new char[size=e.size];
strcpy(buff,e.buff);
}
return *this;
}
bool buffer:: operator==(const char* value)
{
if(size==strlen(value)) return true;
else return false;
}
bool buffer:: operator==(const buffer& e)
{
if(size==e.size) return true;
else return false;
}
ostream& operator<<(ostream& s, const buffer b)
{
//for(int i=0;i<b.size;++i)
//{
if(b.size)
s<<b.buff;
//}
return (s);
}
int karakterek_szama()
{
fstream fp(''adat.txt'' ,ios::in);
char d;
int k=0;
while(!fp.eof())
{
fp.get(d);
++k;
}
fp.close();
return k;
}
istream& operator>>(istream& s, buffer b)
{
int k=karakterek_szama();
delete[] b.buff;
b.buff=new char[(b.size=k)+1];
for(int i=0;i<b.size;++i)
{
s>>b.buff;
}
return (s);
}
void beolvas(buffer& b)
{
int k=karakterek_szama();
delete[] b.buff;
b.buff=new char[(b.size=k)+1];
fstream fp(''adat.txt'' ,ios::in);
while(!fp.eof())
{
fp.getline(b.buff,b.size);
}
fp.close();
cout<<k;
}
void kiir(buffer& b)
{
fstream fp(''adat2.txt'',ios:ut);
fp<<b.buff;
fp.close();
}
char menu ()
{
char n;
cout<<'' MENU \n\n'';
cout<<''1: File beolvasás \n'';
cout<<''2: Szöveg hozzáadása a fájlhoz \n'';
cout<<''3: Aktualis buffer tartalma\n'';
cout<<''4: Mentés\n'';
cout<<''0: Exit \n'';
cin>>n;
return n;
}
int main(){
char m;
buffer a;
buffer b;
char *c = new char[20];
char *d = new char[500];
while ((m = menu())!= '0')
{
switch (m)
{
case '1':
beolvas(b);
cin.get();
cin.get();
break;
case '2':
cin>>d;
b+=d;
;
break;
case '3':
cout<<b;
cin.get();
cin.get();
break;
case '4':
kiir(b);
break;
}
system (''CLS'');
}
} -
nukeleo
csendes tag
Sziasztok!
A kérdésem az lenne, hogy itt van ez a beolvas függvény:
void beolvas(buffer& b)
{
int k=karakterek_szama();
delete[] b.buff;
b.buff=new char[(b.size=k)+1];
fstream fp(''adat.txt'',ios::in);
while(!fp.eof())
{
fp.getline(b.buff,b.size);
}
fp.close();
}
Hogy kellene módosítani ezt(vagy lehet mást is ajánlani), hogy paraméterként elötte lehetne a fájl nevét bekérdezni, és azt a fájlt
nyitná meg utána????
köszi a válaszokat. -
nukeleo
csendes tag
Hali!
Bocs az elözző üzenetemért, csak nagyon kész vagyok ,mert holnapra kell leadnom a házimat,és ilyenkor szoktam hülyeségeket beszélni!
Az utlsó elötti üzenetemben mar irtam mit szeretnék, de most akkor konkrétabban leírom:
Azt szeretném megcsinálni, hogy egy beolvasott fileban (szöveges) lekérdezni hány sor van, és tudjak beszurni / törölni sorokat a megadott sorba!
Azt az utasítast kaptam hogy : operator[] (indexelő operatort ) használatával!
Ha tudtok vmi függvénnyel segíteni, vagy mar kész progit mutatni, köszönöm! -
nukeleo
csendes tag
hali
Azt szeretném , hogy mielott kiirom a fileba az adatokat, törölje ki az adat2.txt -bol ami benne van_???
Hogy lehetne?
void kiir(buffer& b)
{
fstream fp(''adat2.txt'',ios:ut);
fp<<b.buff;
fp.close();
}
THX -
nukeleo
csendes tag
Sziasztok!
Sürgős segiítség kellene C++-ban:
az a feladatom , hogy egy beolvasott fileban (szöveges) nézzem meg hány sor van, és tudjak beszurni / törölni sorokat a megadott sorba !
Valamint a fájlban tudjak keresni egy megadott szot, és kiirja hogy hanyadik sorban van a keresett szo!
Azt az utasítast kaptam hogy operator[] (indexelő operatort ) használjak!
Aztán még , két txt fájlt tartalmát kiirni egy harmadik fájlba!
ugy hogy használjak egy buffert is!
nagyon köszönöm a válaszokat
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- 135 db Akko Dracula Switch eladó
- AOC 25 AG251FG 240HZ
- Fujitsu ,15,6",8.gen.i5,világító.bill, 4G LTE,8-32GB/128-512,jó akku,Win.11,szép
- HP,15.6",FullHD,8.gen.core i5 (8X4,0Ghz)8-32GB RAM,256GB-1TB SSD,nagyon jó akku,Win.11,szép
- Újszerű Dell Latitude 7440 -14"FHD+1 IPS - i5-1345U 16GB - 512GB - Win11 - 1 év garancia + Dokkoló +
- Apple Mac mini M4 Pro 24GB RAM 512GB SSD 1 év garancia
- CORSAIR K100 AIR
- Gamer PC-Számítógép! Csere-Beszámítás! I5 10400 / RTX 3060 12GB / 32GB DDR4 / 512GB SSD
- REFURBISHED és ÚJ - Lenovo ThinkPad Ultra Docking Station (40AJ)
- Bomba ár! Dell Latitude E7440 - i5-4GEN I 8GB I 500GB I 14" HD I HDMI I Cam I W10 I Gari!
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest