#include <stdio.h>
#include <string.h>
/* 有一個字符串開頭或結尾含有n個空格(" helloworld "), 欲去掉前後空格
* 返回一個新字符串.
* 要求1:自己定義一個接口
* 要求2:編寫測試用例
* int trim_space(char *inbuf, char *outbuf);
*/
/*函數如下*/
int trim_space(char *inbuf, char *outbuf, int *pcount)
{
int i = 0, j; // i指向字符數組第一個字符
int ncount;
char *p = inbuf;
j = strlen(inbuf) - 1; // j指向最後一個字符
/*-- 字符串去掉首尾空格後的長度 --*/
while ( isspace(inbuf[i]) )
i++;
while ( isspace(inbuf[j]) )
j--;
ncount = j - i + 1;
*pcount = ncount;
/*-------------------------- */
strncpy(outbuf, p+i, ncount); // 把去掉空格後的字符串複製到outbuf中
return 0;
}
int trim_space2(char *inbuf, char *outbuf)
{
}
/*
int main1(void)
{
char *inbuf = " helloworld ";
char outbuf[100] = {0};
printf("before call of func inbuf=%s\n", inbuf);
trim_space(inbuf, outbuf);
printf("after call of func inbuf=%s\n", outbuf);
return 0;
}
*/
int main(void)
{
char *inbuf = " helloworld ";
char outbuf[100] = {0};
int count = 0;
trim_space(inbuf, outbuf, &count);
printf("count=%d\n", count);
printf("outbuf=%s\n", outbuf);
printf("strlen(outbuf)=%d\n", strlen(outbuf));
return 0;
}
字符串模型1:打印去掉字符串首尾空格後的字符
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.