Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

C/C++ÖеÄSplitº¯Êý

 C/C++ÖеÄSplitº¯ÊýÊÇstrtok()Æäº¯ÊýÔ­ÐÍÈçÏÂ:
char * strtok (char * str, const char * delimiters);
º¯Êý˵Ã÷
strtok()ÓÃÀ´½«×Ö·û´®·Ö¸î³ÉÒ»¸ö¸öƬ¶Î¡£²ÎÊýstrÖ¸ÏòÓû·Ö¸îµÄ×Ö·û´®£¬²ÎÊýdelimitersÔòΪ·Ö¸î×Ö·û´®£¬µ±strtok()ÔÚ²ÎÊý
strµÄ×Ö·û´®Öз¢ÏÖµ½²ÎÊýdelimitersµÄ·Ö¸î×Ö·ûʱÔò»á½«¸Ã×Ö·û¸ÄΪ'\0'×Ö·û¡£ÔÚµÚÒ»´Îµ÷ÓÃʱ£¬strtok()±ØÐè¸øÓè²ÎÊýstr×Ö·û
´®£¬ÍùºóµÄµ÷ÓÃÔò½«²ÎÊýstrÉèÖóÉNULL¡£Ã¿´Îµ÷Óóɹ¦Ôò·µ»ØÏÂÒ»¸ö·Ö¸îºóµÄ×Ö·û´®Ö¸Õë¡£
·µ»ØÖµ
·µ»ØÏÂÒ»¸ö·Ö¸îºóµÄ×Ö·û´®Ö¸Õ룬Èç¹ûÒÑÎÞ´Ó·Ö¸îÔò·µ»ØNULL¡£
ʾÀý-1
/* strtok example */
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] ="a,b,c,d*e";
const char * split = ",";
char * p;
p = strtok (str,split);
while(p!=NULL) {
printf ("%s\n",p);
p = strtok(NULL,split);
}
getchar();
return 0;
}
±¾ÀýÖУ¬ÊµÏÖ¶Ô×Ö·û´®'a,b,c,d*e"ÓöººÅ(,)À´×÷½ç¶¨·û¶Ô×Ö·û´®½øÐзָ
Êä³ö½á¹û½«ÈçÏÂËùʾ:
a
b
c
d*e
ÒòΪdelimitersÖ§³Ö¶à¸ö·Ö¸î·û, ÎÒÃǽ«±¾Ê¾ÀýÖеÄÓï¾äÐÐ
const char * split = ",";
¸Ä³É const char * split = ",*"; //ÓöººÅ(,)ºÍÐǺÅ(*)¶Ô×Ö·û´®½øÐзָî
ÕâÑùÊä³ö½á¹û½«ÈçÏÂËùʾ:
a
b
c
d
e


Ïà¹ØÎĵµ£º

ÍÆ¼ö¼¸¸öÍøÉϵÄC/C++×ÊÔ´(zt)

 2009-11-01   17:31:00
1¡¢Standard C£¬°üÀ¨»ù±¾µÄÓï·¨¶¨Ò壬¿âº¯Êý²Î¿¼
http://www-ccs.ucsd.edu/c/
»òÕß
The C Library Reference Guide
http://www.acm.uiuc.edu/webmonkeys/book/c_guide/
2¡¢The UNIX Programming Environment
http://www.iu.hio.no/~mark/unix/unix_toc.html
»ò
The Art of ......

C unsigned Ó÷¨

Àý£º#define NELE(a) (sizeof(a) / sizeof(a[0]))
int main() {
char str[] = {'E', 'M', 'C'};
for (int d=-1; d<=(NELE(str)-2);d++)
      printf("%c",str[d+1]);
return 0;
}
ÅжÏprintf£¨£©Êä³öµÄÊÇʲô£¬½á¹û¿ÉÄܳöºõÒâÁÏ£¬Ê²Ã´Ò²Ã»ÓÐÊä³ö£¬Ô­ÒòÄØ£¿Ô­Òò ......

C/C++ʱ¼äº¯ÊýʹÓ÷½·¨£¨×ª£©

C++¶Ôʱ¼äµÄ²Ù×÷Ò²ÓÐÐí¶àÖµµÃ´ó¼Ò×¢ÒâµÄµØ·½¡£×î½ü£¬ÔÚ¼¼ÊõȺÖÐÓкܶàÍøÓÑÒ²¶à´ÎÎʵ½¹ýC++ÓïÑÔÖжÔʱ¼äµÄ²Ù×÷¡¢»ñÈ¡ºÍÏÔʾµÈµÈµÄÎÊÌâ¡£ÏÂÃæ£¬ÔÚÕâÆªÎÄÕÂÖУ¬±ÊÕß½«Ö÷Òª½éÉÜÔÚC/C++ÖÐʱ¼äºÍÈÕÆÚµÄʹÓ÷½·¨.
         ͨ¹ýѧϰÐí¶àC/C++¿â£¬Äã¿ÉÒÔÓкܶà²Ù×÷¡¢Ê¹ÓÃʱ¼äµÄ·½·¨¡£µ«Ô ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ