Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Notepad.cpp
- #include <iostream>
- #include <fstream>
- #include <string>
- using namespace std;
- // Method definition
- void addText(char** iopszString);
- void main()
- {
- // Const definition
- int const ADD = 1;
- int const UPDATE = 2;
- int const DELETE = 3;
- int const SAVE = 4;
- int const EXIT = 5;
- // Variable definition
- int nUserCode;
- // Code section
- // Gets the user code
- cout << "Enter the code: " << endl;
- cin >> nUserCode;
- // + "\0" so 1 minimum!!!
- char* iopszString = new char[1];
- iopszString = "";
- // Runs until the exit code
- while (nUserCode != EXIT)
- {
- // Checks the exit code
- switch (nUserCode)
- {
- case ADD:
- {
- addText(&iopszString);
- cout << iopszString << endl;
- break;
- }
- case UPDATE:
- {
- break;
- }
- case DELETE:
- {
- break;
- }
- case SAVE:
- {
- break;
- }
- default:
- {
- cout << "Wrong code, try again" << endl;
- break;
- }
- }
- // Gets the user code
- cout << "Enter the code: " << endl;
- cin >> nUserCode;
- }
- // Delete the string cuz heap
- delete[] iopszString;
- }
- void addText(char** iopszString)
- {
- // Variables definition
- int nAddLength;
- // Code section
- // Gets the new length
- cout << "Enter the length of the added string: " << endl;
- cin >> nAddLength;
- // Always remember - the length you want+1!!
- char* szNewString = new char[nAddLength+1];
- // Gets the new string
- cout << "Enter the new string which you want to add: " << endl;
- cin >> szNewString;
- // Creating a new string (result)
- char* szResult = new char[nAddLength+1+strlen(*iopszString)];
- // Copies the old string to the new
- strcpy(szResult, *iopszString);
- strcat(szResult, szNewString);
- // Deletes the new string cuz we already copied
- delete[] szNewString;
- // Exchange pointers
- //strcpy(*iopszString, szResult); <--- never
- // The problem!
- delete[] *iopszString;
- // Exchange pointer
- *iopszString = szResult;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement