十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#includestdio.h
术业有专攻,您咨询的再多,也不如我了解的一半多;有责任心的专业网站设计公司会做到“客户想到的我们要做到,客户没有想到的我们也要帮客户做到“。我们的设计师是5年以上的设计师,我们不仅仅会设计网站,更会策划网站。
#includestring.h
#includectype.h
void print(char s[],int n,int m)
{
int k;
int i;
char *p;
k=strlen(s);
p = s;
for(i=n-1;in-1+m;i++)//从第n-1位置开始,截取m个字符
putchar(*(p+i));
printf("\n");
}
void main()
{
char *s,str[20];
int m,n;
printf("please input a string:\n");
s = str;
gets(s);
printf("the string is:");
puts(s);
printf("please input n and m\n");
scanf("%d%d",n,m);
print(s,n,m);
}
用strncpy函数,函数签名
char * strncpy(char *dest, const char *src, size_t n);
比如要是从src第2个字符开始截取3个字符,可以用
strncpy(dest, src + 2 - 1, 3);
可改变数组大小,满足你可能的输入状况。
#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;
}
运行结果截图如下:
根据单个分隔字符用split截取
string st="GT123_1";
string[] sArray=st.split("_");
即可得到sArray[0]="GT123",sArray[1]="1";
2.利用多个字符来分隔字符串
tring str = "GTAZB_JiangjBen_123";
string[] sArray = str.Split(new char[2] { 'j', '_' });
foreach(string e in sArray)
{
Console.WriteLine(e);
}
得到sArray[0]="GTAZB",sArray[1]="Jiang",sArray[2]="Ben",sArray[3]="123";
3根据字符串或字符串组来截取字符串
string str = "GTAZB_JiangjBen_123";
string[] sArray = str.Split( new string[]{"Ji","jB"}, StringSplitOptions.RemoveEmptyEntries);
foreach(string e in sArray)
{
Console.WriteLine(e);
}
得到sArray[0]="GTAZB_",sArray[1]="ang",sArray[2]="en_123";
4提取字符串中的第i个字符开始的长度为j的字符串;
string str = "GTAZB_JiangjBen_123";
int start=3,length=8;
Console.WriteLine(str.Substring(start-1, length));
这个你只能写个循环自己判断了,示例代码如下
char str[] = "1,2,3,4,4,5";
int num[10];
int index = 0;
int i;
for(i=0;istrlen(str);i++)
{
if(str[i]='0' str[i]='9') //如果是字符 0-9
num[index++] = str[i] - '0'; //字符转换为数字,放到int类型的数组
}