函数重载
以下是一个简单的例子,用来输出前ct个数字,和前n个字符
#include<iostream>
#include<cmath>
using namespace std;
void left(unsigned long n, unsigned ct);
char * left(char * a, int n = 1);
int main()
{
char ch[] = "hadhasdhasldkjashd";
unsigned long n = 123456;
left(n, 3);
char * ps = left(ch, 6);
cout << ps << endl;
delete [] ps;
return 0;
}
void left(unsigned long n, unsigned ct)
{
int digits = 1;
unsigned long m = n;
//用来计算数字的位数
while (m /= 10)
{
digits++;
}
//ct为我们想要的位数
if(digits > ct)
ct = digits - ct;
if (ct != 0)
{
//pow(x, y) x的y次方 函数头 #include<cmath>
cout << (int)(n/(pow(10, ct))) << endl;
}
}
char * left(char * a, int n)
{
if (n < 0)
n = 0;
char * pt = new char[n + 1];
int i;
for ( i = 0; i < n && a[i]; i++)
{
pt[i] = a[i];
}
while (i <= n)
{
pt[i++] = '\0';
}
return pt;
}
'''''''''''''
123
hadhas