深入系统学习C/C++

来源:互联网 发布:网络代理 免费 编辑:程序博客网 时间:2024/06/10 22:05

毕业后两年内的时间一直都是从事的C++方面的软件开发,可以说有一定的经验,但是每当去面试的时候,面对面试官提出的一些基本的C++题目还是有些吃力,所以决定静下心来从新开始学习C++,废话不多说。

有一个字符串开头或结尾含有n个空格(”   abcdefgdddd     ”),欲去掉前后空格,返回一个新字符串。

有两种写法,第一种

int trimSpace(const char *inBuf, char *outBuf){int len = 0;char* srcchead = NULL;char* srctail = NULL;if (inBuf == NULL || outBuf == NULL){return -1;}srcchead = inBuf;srctail = inBuf + strlen(inBuf) - 1;while(*srcchead == ' '){srcchead++;}while(*srctail == ' '){srctail--;}len = srctail - srcchead + 1;memcpy(outBuf, srcchead, len);return 1;}//第二种int trimSpace(const char *inBuf, char *outBuf){int i = 0,j =0;int nCount;if (inBuf == NULL || outBuf == NULL){return -1;}j = strlen(inBuf) - 1;while (isspace(inBuf[i]) && inBuf[i] != '\0'){i++;}while (isspace(inBuf[j]) && j > 0){j--;}nCount = j - i + 1;strncpy(outBuf, inBuf + i, nCount);return 0;}int main(){char *inBuf = "    abcdefgdddd     ";char outBuf[100] = {0};printf(" 去除空格前:%s",  inBuf );trimSpace(inBuf, outBuf);printf(" 去除空格后:%s",  outBuf);return 0;}


0 0
原创粉丝点击