C++ 如何压缩一串数字 char*s=“123456000000078999”; 无符号整数ss=strlen(s); 向量数; 无符号整数i; for(i=0;i

C++ 如何压缩一串数字 char*s=“123456000000078999”; 无符号整数ss=strlen(s); 向量数; 无符号整数i; for(i=0;i,c++,C++,1107确实会存储为11和07。当显示值时,请显示两位数字,否则您将看不到07上的前导0。1100也是如此 至于偶数,是的,你必须更仔细地观察你正在处理的数字的数量。如果ss是奇数,首先只存储第一个数字。然后成对处理其余的数字。因此117基本上存储为01和17。压缩?你是什么意思?减少每个字符的字符串大小取8位我希望每对取8位首先,你应该重写for循环的上界,它应该是for(i=0;i

1107确实会存储为11和07。当显示值时,请显示两位数字,否则您将看不到07上的前导0。1100也是如此


至于偶数,是的,你必须更仔细地观察你正在处理的数字的数量。如果
ss
是奇数,首先只存储第一个数字。然后成对处理其余的数字。因此117基本上存储为01和17。

压缩?你是什么意思?减少每个字符的字符串大小取8位我希望每对取8位首先,你应该重写
for
循环的上界,它应该是
for(i=0;i
为了避免使用
std::vector
的分段错误,您每对保留超过8位。您应该使用
std::vector
@AmineHmadouch您是否尝试对字符数据应用某种压缩算法?
 char *s = "1234560000000000078999";
unsigned int ss = strlen(s);
vector<int> num;
unsigned int i;
for (i=0;i<ss;i+=2)
{
    num.push_back((s[i] - '0')*10 + (s[i+1] - '0'));
}