字符串函数参数传入传出(去空格)
生活随笔
收集整理的這篇文章主要介紹了
字符串函数参数传入传出(去空格)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
字符串作為函數(shù)參數(shù)傳入傳出
/*** delSpace.c ***/ #include<stdio.h> #include<string.h>int DelSpace(char *str) {int iRet = -1;int i ;int j ;int ncount = 0;char *out = str;if(NULL == str ){printf("the point in is NULL\n");return iRet;}i = 0;j = strlen(out) - 1;while(isspace(out[i]) && out[i] != '\0'){i++;}while(isspace(out[j]) && out[j] != '\0'){j--; }ncount = j - i + 1;strncpy(out,out+i,ncount); //所有指向的地址空間是不能修改的 out[ncount] = '\0';iRet = 0;return iRet; }int main() {int iRet = -1;//char *p = " abcdefg "; //分配的地址內(nèi)存位于常量區(qū) char buf[256] = " abcdefd "; //這塊內(nèi)存空間分配在臨時(shí)區(qū)棧區(qū),可以進(jìn)行修改。buf這個(gè)變量名是不允許修改的//iRet = DelSpace(p);iRet = DelSpace(buf);if(0 == iRet)printf("DelSpace success p = %s\n",buf);elseprintf("DelSpace error p = %s\n",buf);return 0; }分為兩個(gè)字符串傳入傳出
#include<stdio.h> #include<string.h>int trimSpace(char *in,char *out) {int iRet = -1;int i = 0;int j = 0;int k = 0;char *tempIn = in;if(in == NULL || out == NULL){printf("NULL is error\n");return iRet;}i = 0;j = strlen(tempIn) - 1;while(isspace(tempIn[i]) && tempIn[i] != '\0'){i++;}while(isspace(tempIn[j]) && tempIn[j] != '\0'){j--;}while(i <= j){out[k++] = tempIn[i++];}out[k] = '\0';iRet = 0;return iRet; }int main() {int iRet = -1;char *p = " abcf ";char buf[256] = {0};iRet = trimSpace(p,buf);if(iRet != 0){printf("trimSpace error\n");}else{printf("trimSpace success\n");}printf("buf = %s\n",buf);return 0;}?
轉(zhuǎn)載于:https://www.cnblogs.com/wanghao-boke/p/11604844.html
總結(jié)
以上是生活随笔為你收集整理的字符串函数参数传入传出(去空格)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 杰斯和安妮买哪个好
- 下一篇: 电脑和电视怎么建立局域网