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++µ÷ÓÃPython½Å±¾Ä£¿é£¨.py£©¡£¼ÈÈ»ÊÇÓÃÓÚÖî¶àÓÎÏ·³ÌÐòµÄ½Å±¾ÓïÑÔ£¬Äǿ϶¨ÊÇȱ²»ÁË»¥µ÷£¨ÀñÉÐÍùÀ´£©¡£Òò´Ë£¬±¾Æª½²Ò»¸ö¼òµ¥µÄpythonµ÷ÓÃC/C++дµÄDLLÄ£¿é£¬¶ÔPython½øÐй¦ÄÜÀ©Õ¹¡£ÕâÀïдһ¸ö¼òµ¥µÄÀý×Ó£¬Ö÷Òª¾ÍΪÁËÁ˽âÏÂÕâôÓÃPythonÀ´µ÷ÓÃC/C++дµÄDLL¿â¡£ºÃÁË£¬ÇÐÈëÕýÌ⣺
Ê×ÏÈ£¬ÎÒÊÇÓÃVS2003 ......
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 ......
ÏÂÃæÕâ¸ö³ÌÐòÊä³öʲô£¿
enum {false,true};
int main()
{
int i=1;
do
{
printf("%d\n",i);
i++;
if(i < 15)
continue;
}while(false);
return 0;
}
ÄãÏàÐÅô£¿Ï ......
Àý£º#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£¨£©Êä³öµÄÊÇʲô£¬½á¹û¿ÉÄܳöºõÒâÁÏ£¬Ê²Ã´Ò²Ã»ÓÐÊä³ö£¬ÔÒòÄØ£¿ÔÒò ......