char 字符串

 pStr要查找的字符串, iStrLen字符串长度
C/C++ code
    
    
    
    
const char * function( char * pStr, int iStrLen) { bool bFindStart = false ; int iStart = 0 ; int iStop = 0 ; static buf[ 0xffff ]; for ( int i = 0 ; i < iStrLen; i ++ ) { if (pStr[i] == ' @ ' ) { if ( ! bFindStart) { iStart = i; bFindStart = true ; } else { iStop = i; break ; } } } strncpy(buf, pStr + iStart, iStop - iStart); buf[iStop - iStart] = 0 ; return buf; }
  
  
  
  
 
 
#include   <string.h> #include   <stdio.h> #include   <stdlib.h> int   main(void) { char   input[50]   =   "addfdj|中国ds|fsf "; char   *p; p   =   strtok(input,   "| "); while(p) { printf( "%s\n ",   p); p=strtok(NULL,   "| "); } system( "PAUSE "); return   0; }
 
http://zhidao.baidu.com/question/223850319.html
 
http://download.csdn.net/detail/cuizhiyi2008/3481420
 
http://blog.sina.com.cn/s/blog_4ff373440100w7xr.html
 

手写的split函数 功能按某字符截取为数组

#include <iostream> #include <string> using namespace std; string* split (char ch[], const char *sp) {  int k=0,i=0;  for (int j=0;j<strlen(ch);j++)  {   if (ch[j] == *sp) k++;  }  const int num = k+1;  string *str = new string[num];  char *p;  p = strtok(ch, sp);  while (p != NULL)  {   str[i] = p;   p = strtok(NULL, sp);   i++;  }  delete p;  return str; } void main() {  char ch[] = "aaaaaaa,eeeeeeeeee,ccccccccc,ddddddddddd,sadfsadfd,adasd";  string *str = split(ch, ",");    cout<<str[5]; }

 

 

#include <string.h> #include <stdio.h> int main( void ) { char string[] = "134214214|5465fdsf|塞井焚舍|1321|ewrewrewr"; char seps[] = "|"; char *token; token = strtok(string, seps);  while(token != NULL) { printf(" %s\n", token ); token = strtok(NULL, seps);  } } 输出结果为:  134214214  5465fdsf  塞井焚舍  1321  ewrewrewr 将截取的字符保存在数组中

 

http://topic.csdn.net/u/20110309/10/56844f73-e1ab-49ee-acbc-f74974844eb7.html

你可能感兴趣的:(String,null,delete,input,token,stdstring)