可改变数组大小,满足你可能的输入状况。
创新互联建站自2013年创立以来,先为萍乡等服务建站,萍乡等地企业,进行企业商务咨询服务。为萍乡企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
#includestdio.h
int main(){char str[200]; // 假定输入1行字符串,长度在200以内char s[20][16]; // 假定 用逗号分隔的部分约20个。
每个长度 不超过16字符double d; // 假定数据个数 不超过 20 个int i,j=0,L,n=0;fgets(str,200,stdin)。
// 读入一行 字符串,含换行符L = strlen(str)。
//计算输入的字符串长度for (i=0;iL;i++){s[n][j]=str[i]; j++;if (str[i]==',' || str[i]=='\n') {s[n][j-1]='\0'; j=0; n++;} // 取出逗号分隔开的字符串}
扩展资料:
C语言继续发展,在1982年,很多有识之士和美国国家标准协会为了使这个语言健康地发展下去,决定成立C标准委员会,建立C语言的标准。委员会由硬件厂商、编译器及其他软件工具生产商、软件设计师、顾问、学术界人士、C语言作者和应用程序员组成。
1989年,ANSI发布了第一个完整的C语言标准——ANSI X3.159—1989,简称“C89”,不过人们也习惯称其为“ANSI C”。
C89在1990年被国际标准组织ISO(International Standard Organization)一字不改地采纳,ISO官方给予的名称为:ISO/IEC 9899,所以ISO/IEC9899: 1990也通常被简称为“C90”。
1999年,在做了一些必要的修正和完善后,ISO发布了新的C语言标准,命名为ISO/IEC 9899:1999,简称“C99”。在2011年12月8日,ISO又正式发布了新的标准,称为ISO/IEC9899: 2011,简称为“C11”。
参考资料来源:百度百科-c语言
C标准库中提供了一个字符串分割函数strtok();
实现代码如下:
#include stdio.h
#include string.h
#define MAXSIZE 1024
int main(int argc, char * argv[])
{
char dates[MAXSIZE] = "$GPGGA,045950.00,A,3958.46258,N,11620.55662,E,0.115,,070511,,,A*76 ";
char *delim = ",";
char *p;
printf("%s ",strtok(dates,delim));
while(p = strtok(NULL,delim))
{
printf("%s ",p);
}
printf("\n");
return 0;
}
运行结果截图如下:
#include stdio.h
#include string.h
// 将str字符以spl分割,存于dst中,并返回子字符串数量
int split(char dst[][80], char* str, const char* spl)
{
int n = 0;
char *result = NULL;
result = strtok(str, spl);
while( result != NULL )
{
strcpy(dst[n++], result);
result = strtok(NULL, spl);
}
return n;
}
int main()
{
char str[] = "what is you name?";
char dst[10][80];
int cnt = split(dst, str, " ");
for (int i = 0; i cnt; i++)
puts(dst[i]);
return 0;
}
用strncpy函数,函数签名
char * strncpy(char *dest, const char *src, size_t n);
比如要是从src第2个字符开始截取3个字符,可以用
strncpy(dest, src + 2 - 1, 3);