【发布时间】:2018-03-16 13:48:12
【问题描述】:
void encode(char* dst, const char* src) {
while (1) {
char ch = *src;
if (!ch || ch != '0','1','2','3') { //pseudo-code
*dst = 0;
return;
}
size_t count = 1;
while (*(++src) == ch)
++count;
*(dst++) = ch;
dst += sprintf(dst, "%zu", count);
}
我怎么说,ch 不等于数字.. 然后返回。我也在尝试摆脱无限循环。
【问题讨论】:
-
你知道
isdigit()函数吗? -
另外,使用
sscanf("%[0-9]")有什么问题
标签: c character-encoding