易截截图软件、单文件、免安装、纯绿色、仅160KB

C求助:分割数组

比如数组array[100]="12@good@thanks@men@";
怎么做才能将array1[100]="12";array2[100]="good";array3[100]="thanks";array4="men";

需要怎么做呢?C里面有没有类似split函数的函数呢??

真诚求助!
strtok

C++有char *strtok( char *strToken, const char *strDelimit );

如果不用函数
自己写怎么写呢?

简洁点的...

请指点一下:)

#include <stdio.h>
#include <string.h>
void main()
{
int i,k=0,j,q=0;
char a[100],b[100][100];
scanf("%s",a);
for(i=0;i <strlen(a);i++)
if(a[i]=='@')
k++;
i=0;
for(j=0;j <k;j++)
{
while(a[i]!='@')
{
b[j][q]=a[i];
i++;
q++;
}
b[j][q]='\0';
q=0;
i++;
printf("%s\n",b[j]);
}
}
楼主:试试这个吧!

楼主:如果分割符不一定用'@',请多定义一个字符变量,用它来表示特殊字符,替换'@'就哦了.

#include <stdio.h>
#include <string.h>
void main()
{
int i,k=0,j,q=0;
char a[100],b[100][100],c;
c=getchar();
scanf("%s",a);
for(i=0;i <strlen(a);i++)
if(a[i]==c)
k++;
i=0;
for(j=0;j <k;j++)
{
while(a[i]!=c)
{
b[j][q]=a[i];
i++; <


相关问答:

c基础

#include <string.h>
#include <stdio.h>

void main()
{
int i;
char buf[]="abcde";
strncpy(buf,"abc",3);
for(i=0;i <5;i++)
printf(&q ......

c/s 和b/s的区别是什么,一直搞不清

c/s 和b/s 的区别是什么,c/s需要服务器吗,怎么判断程序是c/s 还是b/s
C/S是服务器和客户端    B/S是服务器和浏览器

他们都有s,什么是s?就是server
那他们的区别是什么?一个是c,即client,一个 ......

这个是什么意思,unsigned int c:2, d:1;

struct s1 {
char ch, *ptr;
union {
short a, b;
unsigned int c:2, d:1;
}
struct s1 *next;
};


主要看不懂符号 :

请达人指点一二
http://blog.cechina.cn/true ......

文件问题?C大侠请进

在C语言中如何打开一个已知的文件。如打开名为add.txt的文件假设它在C:\\Promgram Files\add.txt.要求打开时不改变其里面的内容。高手请解答下啊
fopen( "C:\\Promgram Files\add.txt" , "rb" ......

c打印一个N*N的方阵

打印一个N*N的方阵,N为每边字符的个数( 3〈N〈20 ),要求最外层为"X",第二层为"Y",从第三层起每层依次打印数字0,1,2,3,...
例子:当N =5,打印出下面的图形:
X X X X X
X ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号