#include <iostream>
using namespace std;
//c和指针 p65第六题
int substr(char dst[] , char src[], int start, int len)
{
if( start<0 || len<0)
return -1;
int i = 0;
int j = 0;
for(i=start; i<start+len, j<len; ++i, ++j)
dst[j] = src[i];
return j;
}
//第七题 除去程序中多余的空格
void deblank(char string[])
{
int i = 0;
int j = 0;
bool flag = true; //主要作为插入一个空格后关闭的标志
while(string[j] != '\0') //结束标志
{
if(string[j] != ' ')
{
string[i++] = string[j++];
flag = true; //表示没有空格期间
}
else if(flag) //插入一个空格
{
string[i++] = string[j++];
flag = false;
}
else
j++; //j++ 保证后面的依次执行
}
string[i] = '\0'; //保证结束标志
}
int main()
{
char dst[10] = {'\0'}; //保证是以'\0'结尾
char src[20] = {'a','c','b','a','c','b','a','c','b','a','c','b','a','c','b','a','c','b','g','y'};
cout<<substr(dst, src, 2, 5)<<endl;
char string[] = "This is a test from Jack";
deblank(string);
cout<<string<<endl;
return 0;
}
using namespace std;
//c和指针 p65第六题
int substr(char dst[] , char src[], int start, int len)
{
if( start<0 || len<0)
return -1;
int i = 0;
int j = 0;
for(i=start; i<start+len, j<len; ++i, ++j)
dst[j] = src[i];
return j;
}
//第七题 除去程序中多余的空格
void deblank(char string[])
{
int i = 0;
int j = 0;
bool flag = true; //主要作为插入一个空格后关闭的标志
while(string[j] != '\0') //结束标志
{
if(string[j] != ' ')
{
string[i++] = string[j++];
flag = true; //表示没有空格期间
}
else if(flag) //插入一个空格
{
string[i++] = string[j++];
flag = false;
}
else
j++; //j++ 保证后面的依次执行
}
string[i] = '\0'; //保证结束标志
}
int main()
{
char dst[10] = {'\0'}; //保证是以'\0'结尾
char src[20] = {'a','c','b','a','c','b','a','c','b','a','c','b','a','c','b','a','c','b','g','y'};
cout<<substr(dst, src, 2, 5)<<endl;
char string[] = "This is a test from Jack";
deblank(string);
cout<<string<<endl;
return 0;
}