已知 一个字符串 A = “$abcde,12345,abcde%” .
在C语言里用哪个函数可以把 两个逗号之间的数据取出!
高手指点以下 处学者~~~
或者说 哪个函数可以指定 从第3位开始取数 取到第10位。
相当于SQL语言里的Substring函数
# include <stdio.h>
# include <ctype.h>
main()
{
char *a="#abcde,12345,abcde$",*b=NULL,*d=b;
while(*a&&a++) if(isdigit(*a)) *d=*a, d++;
*d=0;
puts(b);
getch();
}
这个函数是一个一个字符测试..不是按串测试!
[此贴子已经被作者于2006-6-5 17:12:16编辑过]
#include "stdio.h"
#include "conio.h"
char * fun(char *str1,char *str2,char c);
main()
{ char a[80];
printf("%s\n",fun(a,"asdas,13355,tyrty",','));
getch();
}
char * fun(char *str1,char *str2,char c)
//函数功能:取str2字符串中以字符c为分隔符中间的子串
//"ereq,12345,tryrt" => 12345
// "ewr,234532ertyert" => 234532ertyert
{
char *ptr1=str1;
while(*str2++!=c);
while((*ptr1++=*str2++)!=c);
*--ptr1=0;
return str1;
}
#include "stdio.h"
#include "conio.h"
char * fun(char *str1,char *str2,int a,int b);
main()
{ char a[80];
printf("%s\n",fun(a,"asdas,133557,tyrty",7,12));
getch();
}
char * fun(char *str1,char *str2,int a,int b)
{
char *ptr1=str1;
for(int i=a;i<=b;i++)
{
*ptr1++=*(str2+i-1);
}
*ptr1=0;
return str1;
}