Using the STL Library in C++, part 1

All of us, programmers have thought about an easier way to get a better and faster result. The STL allows us to make it. For example, to insert characters we had to make an array:

#include <iostream> //preprocessor directive

using namespace std;  //namespace which allows us to use console out, console in & endl

int main()

{

char myArray[25];   //here we have to insert the length of our array

cin >> myArray;  // input of our string

cout << myArray; //output of our string

return 0;

}

If we insert a two-words sentence, we will see as a return, only one part of it – the first word. How to correct it?

We have to use cin.get. Let’s see:

#include <iostream>

using namespace std;

int main()

{

char myArray[25];

cin.get(myArray, 24);

cout << myArray;

return 0;

}

And if we want to copy one string to another by using arrays it is not the best way to do it:

char myArray[] = "Hello my friend";

char myArray2[] = {'\0'};

strcpy(myArray2, myArray);

cout << myArray2 << endl;

You can see that the result is good. However there are problems – you have to remember that to copy one to another you have to use a special instruction strcpy and the order of your arrays. By using the STL Library you can solve it:

#include <iostream>

#include <string>

using namespace std;

int main()

{

string myString;  //create string

getline(cin, myString);  //similar to cin.get

cout << endl;

string myString2;

getline(cin, myString2);

cout << endl;

myString += myString2;  //connecting one string to the another

cout << myString

string myString3(myString); //copy content of myString to myString3

return 0;

}

I think that using strings is more comfortable and better to learn. Moreover, in these days most of programmers use STL.

MJ

Zostaw komentarz

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s