如何在一个数字之间放置文本? (C)

时间:2018-03-29 02:26:03

标签: c

如何在变量之间插入文本?示例:整数是a = 1514,我想将其打印为15:14。我该怎么办?

我真的很抱歉,我一直在思考如何问这个问题,这是我唯一想到的事情......提前感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

iBug的评论将为您提供上面要求的内容,但是您可以使用sprintf将整数存储在字符串中,然后根据需要对其进行操作。像:

sprintf(&number_string, "%d", int_variable);

然后如果你想总是把文字放在中间,比如:

int num_len = strlen(number_string);
int midpoint = len / 2;
char middle_text[6] = ":foo:";
int mid_text_len = strlen(middle_text);

// allocate space for new string
char *new_string = malloc(len + mid_text_len + 1);

// copy up to the midpoint into the new string
strncpy(new_string, number_string, midpoint);

// then concatenate whatever you want to put in the middle
strcat(new_string, middle_text);

// then concatenate the rest of number_string onto the end
strcat(new_string, number_string+midpoint, num_len-midpoint);

// and make sure it's null terminated.
new_string[len+mid_text_length] = '\0';

警告:我没有测试这段代码,因此它可能与编写完全无关......但是你明白了。