I want to make auto grow a char array when the user enters any character and stop when the user press enter. I write this code but the output not correct.
char* dynamicmem(char size) {
char* temp;
temp = new char[size];
return temp;
}
char* regrow(char* ptr, int size, char num) {
char* p = NULL;
int resize = size + 1;
p = new char[resize];
for (int i = 0; i < size; i++) {
p[i] = ptr[i];
}
p[size] = num;
delete []ptr;
return p;
}
int main() {
char* name = NULL;
int size = 0;
name = dynamicmem(size);
cout << "Enter Name: ";
char n='.';
while(n!='\r') {
n = _getche();
name = regrow(name, size, n);
size++;
}
cout << endl << name;
}
Output:
Enter Name: mohsan
²²²²▌▌▌▌▌▌▌▌▌▌▌▌▌▼U/☼▌◄