36 lines
931 B
C++
36 lines
931 B
C++
// left.cpp -- string function with a default argument
|
|
#include <iostream>
|
|
const int ArSize = 80;
|
|
char * left(const char * str, int n = 1);
|
|
int main()
|
|
{
|
|
using namespace std;
|
|
char sample[ArSize];
|
|
cout << "Enter a string:\n";
|
|
cin.get(sample,ArSize);
|
|
char *ps = left(sample, 4);
|
|
cout << ps << endl;
|
|
delete [] ps; // free old string
|
|
ps = left(sample);
|
|
cout << ps << endl;
|
|
delete [] ps; // free new string
|
|
// cin.get();
|
|
// cin.get();
|
|
return 0;
|
|
}
|
|
|
|
// This function returns a pointer to a new string
|
|
// consisting of the first n characters in the str string.
|
|
char * left(const char * str, int n)
|
|
{
|
|
if(n < 0)
|
|
n = 0;
|
|
char * p = new char[n+1];
|
|
int i;
|
|
for (i = 0; i < n && str[i]; i++)
|
|
p[i] = str[i]; // copy characters
|
|
while (i <= n)
|
|
p[i++] = '\0'; // set rest of string to '\0'
|
|
return p;
|
|
}
|