- Milyen billentyűzetet vegyek?
- Vezetékes FEJhallgatók
- Apple MacBook
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Milyen egeret válasszak?
- OLED TV topic
- Lopakodva befutott a Radeon RX 9060
- Vezeték nélküli fülhallgatók
- Kormányok / autós szimulátorok topikja
- Milyen processzort vegyek?
Hirdetés
Ú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'');
}
}
Ú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!
- Prémium Z77 félkonfig - i7-3770K + Asus P8Z77-V Deluxe + 32GB G.Skill 2400Mhz + Be quiet! hűt
- Thinkpad T16 GEN 1 16" Touch screen vPRO i5 1345U 32GB DDR5 512GB NVME SSD Lenovo Gar.
- Lenovo T480 i7- 8650u / HU bill! / 8Gb DDR4 / 256Gb Nvme SSD / IPS full HD/ újszerű állapot / Win11
- Dell Latitude 5590 / i5 8350u / IPS FHD 15,6" / 8GB DDR4 / 256Gb SSD / Win11
- Micron 1100 256GB 2,5" SSD-k
- Ventillátorok és tápkábel modding kitűnő árakon! Most extra 10% kedvezmény!
- Apple iPhone Xs Max 64GB, Kártyafüggetlen, 1 Év Garanciával
- Vállalom FRP Lock os telefonok javítását ingyen kiszálással és akár helyszíni javittással
- LG 55G3 - 55" OLED evo - 4K 120Hz 0.1ms - MLA - 2000 Nits - NVIDIA G-Sync - AMD FreeSync - HDMI 2.1
- GYÖNYÖRŰ iPhone 13 mini 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3061, 96% Akkumulátor
Állásajánlatok
Cég: FOTC
Város: Budapest