本文介绍了Ç - 增加一个字符内的数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否有可能在字符串中增加单独的一个数字?
所以我们可以说我有:
字符someString =A0001
有没有办法来增加数字0001?为了使A0002,A0003等?
解决方案
的#include<&stdio.h中GT;
#包括LT&;&stdlib.h中GT;
#包括LT&;&string.h中GT;
#包括LT&;&文件ctype.h GT;字符* strinc(为const char * str中,诠释D,INT MIN_WIDTH){
CHAR周[12]; // 12:sizeof运算的最大长度(INT)= 4
字符* P;
INT LEN,d_len,C; C = LEN = strlen的(STR);
而(ISDIGIT(STR [ - J]));
++℃;
D + =与strtol(安培; STR [C],NULL,10);
如果(D℃,)D = 0;
d_len = sprintf的(周,%0 * D,MIN_WIDTH,D);
P =的malloc((C + d_len + 1)* sizeof的(炭));
函数strncpy(P,STR,C);
P [J] ='\\ 0';
返回strcat的(P,周);
}诠释主要(无效){
char *之someString =A0001
字符* label_x2,* label_x3; label_x2 = strinc(someString,+ 1,4);
的printf(%S \\ n,label_x2); // A0002
label_x3 = strinc(label_x2,+ 1,4);
的printf(%S \\ n,label_x3); // A0003
免费(label_x2);
label_x2 = strinc(A0008,+ 5,4);
的printf(%S \\ n,label_x2); // A0013
免费(label_x3);
label_x3 = strinc(label_x2,-8,4);
的printf(%S \\ n,label_x3); // A0005
免费(label_x2);
免费(label_x3); 返回0;
}
Is it possible to increment a number alone within a string?So let's say I have:
char someString = "A0001";
Is there a way to increment the number '0001'? To make it A0002, A0003 etc?
解决方案
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
char *strinc(const char *str, int d, int min_width){
char wk[12];//12:max length of sizeof(int)=4
char *p;
int len, d_len, c;
c = len = strlen(str);
while(isdigit(str[--c]));
++c;
d += strtol(&str[c], NULL, 10);
if(d<0) d = 0;
d_len = sprintf(wk, "%0*d", min_width, d);
p = malloc((c+d_len+1)*sizeof(char));
strncpy(p, str, c);
p[c]='\0';
return strcat(p, wk);
}
int main(void){
char *someString = "A0001";
char *label_x2, *label_x3;
label_x2 = strinc(someString, +1, 4);
printf("%s\n", label_x2);//A0002
label_x3 = strinc(label_x2, +1, 4);
printf("%s\n", label_x3);//A0003
free(label_x2);
label_x2 = strinc("A0008", +5, 4);
printf("%s\n", label_x2);//A0013
free(label_x3);
label_x3 = strinc(label_x2, -8, 4);
printf("%s\n", label_x3);//A0005
free(label_x2);
free(label_x3);
return 0;
}
这篇关于Ç - 增加一个字符内的数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!