Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // przeciazadnie1zadanie2.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include <conio.h>
- #include <malloc.h>
- #include <string.h>
- class DynString {
- char* string;
- int linia;
- public:
- DynString (DynString &dyn);
- DynString (char* lancuch);
- const char* CStr ();
- const int Size ();
- void operator += (char *lancuch);
- void operator ! ();
- int ZwrocLinie();
- };
- /////////////////////////////////////
- DynString::DynString (char* lancuch)
- {
- int dlugosc;
- dlugosc=strlen(lancuch);
- string = (char*)malloc ( (dlugosc + 1)*sizeof(char) );
- if (string !=NULL)
- {
- strcpy (string,lancuch);
- }
- }
- const char* DynString::CStr ()
- {
- return string;
- }
- const int DynString::Size ()
- {
- return strlen(string);
- }
- DynString::DynString (DynString &dyn)
- {
- string = (char*)malloc( ( strlen(dyn.string) + 1)*sizeof(char));
- if(string != NULL)
- {
- strcpy(string, dyn.string);
- }
- }
- void DynString::operator+= (char* lancuch)
- {
- int ilosc = strlen (lancuch) + strlen (string) + 1;
- int starailosc = strlen (string);
- char * oldstring;
- oldstring=string;
- string = (char*) realloc (string, ilosc);
- if (string != NULL)
- {
- strcpy(string, oldstring);
- char *ptr = string;
- ptr += strlen(string);
- strcpy(ptr, lancuch);
- }
- }
- void DynString::operator! ()
- {
- strupr (string);
- }
- int DynString::ZwrocLinie ()
- {
- return linia;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- DynString napis("Napis testowy.");
- printf("Napis: %s\n", napis.CStr());
- printf("Znakow: %i\n", napis.Size());
- DynString kopia = napis;
- printf("Kopia: %s\n", kopia.CStr());
- printf("Znakow: %i\n", kopia.Size());
- kopia += " - pierwszy fragment -";
- kopia += " drugi fragment.";
- printf("Napis %s\n", napis.CStr());
- printf("Znakow: %i\n", napis.Size());
- printf("Kopia %s\n", kopia.CStr());
- printf("Znakow: %i\n", kopia.Size());
- !napis;
- printf("Napis %s\n", napis.CStr());
- printf("\nKoniec.");
- printf (" //////////////////////////////////////////////////////// \n");
- DynString napis3("Napis testowy.");
- printf ("linia nr [%d] - ",napis.ZwrocLinie() );
- printf("Napis: %s\n", napis.CStr());
- printf("Znakow: %i\n", napis.Size());
- _getch();
- return 0;
- }
Advertisement