重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这是一段关键代码
创新互联专业为企业提供宽甸网站建设、宽甸做网站、宽甸网站设计、宽甸网站制作等企业网站建设、网页设计与制作、宽甸企业网站模板建站服务,十多年宽甸做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
int i=0;
char ch[50];
fflush(stdin);//清除缓冲区
while((ch[i]=getchar())!='\n')
//当输入字符不是回车是逐个截取字符
i++;
应该是这个意思吧,输入一串字符然后逐个存入字符数组中。
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 是 C语言的库函数之一,来自 C语言标准库,定义于 string.h,char *strncpy(char *dest, char *src, int n),把src所指字符串的前n个字节复制到dest所指的数组中,并返回指向dest的指针。
函数原型char*strncpy(char*dest,char*src,size_tn);
复制字符串src中的内容(字符,数字、汉字....)到字符串dest中,复制多少由size_tn的值决定。如果src的前n个字节不含NULL字
符,则结果不会以NULL字符结束。如果src的长度小于n个字节,则以NULL填充dest直到复制完n个字节。src和dest所指内存区域不可以重
叠且dest必须有足够的空间来容纳src的字符长度+'\0'。
atoi (表示 alphanumeric to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中。
功 能: 将字符串转换成整型数;atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时('\0')才结束转化,并将结果返回(返回转换后的整型数)。
用 法: int atoi(const char *nptr);
如果是浮点数或者其他类型可以使用atof,sscanf函数来进行字符串到数值的转换。
例如:atoi(strncpy(dest,src+5,10))//把src字符串从第五位开始数10个的字符串转换为一个int值。
#includestdio.h
#define max 200 //输入的数最多两百个
int main()
{
int i,input,len=0;
int a[max],front;
printf("\nplease input the number!\n");
scanf("%d",input);
printf("请输入要取出的位数!\n");
scanf("%d",front);
len=strlen(input); //输入数字的长度
for(i=0;ifront;i++) //用来取出所有的单个数字
{
a[i] =input/(10^len);
input=input%(10^len);
len--;
}
for(i=0;ifront;i++)
{
printf("%d",a[i]);
}
}
这道题应该能运行,不能的话,发个消息过来,我来调试下!
#includestdio.h
#includestring.h
int fun(char *s1,int len,char *s2)
{
int length;
length=strlen(s1);
if(len0||len=length)
return 0;
else
strcpy(s2,s1[len]);
}
int main(void)
{
char s1[100];
char s2[100];
int len;
printf("请输入字符串:");
gets(s1);
printf("请输入截取首字符下标:");
scanf("%d",len);
if(fun(s1,len,s2))
printf("截取字符串:%s\n",s2);
else
printf("截取失败\n");
return 0;
}