给定一个字符串(作为函数的参数),在给定字符组合后,如果退出(它只是修改字符串),我需要删除零序列。例如,如果字符组合为x+
,则字符串20.301x+000005
必须转换为20.301x+5
。从C字符串中删除字符
我尝试这样做:
void convertStr(char *analysisBuffer)
{
char *exp;
if((exp = strstr(analysisBuffer,"x+"))!=NULL||(exp = strstr(analysisBuffer,"X+"))!= NULL)
{
exp += 2;
char * zeroIt = exp;
while(*zeroIt == '0')
++zeroIt;
unsigned int x = exp - analysisBuffer;
analysisBuffer[x] = '\0';
strcat(analysisBuffer,zeroIt);
}
}
谁能告诉我如何正确地执行呢?
您是指'analysisBuffer [X] = '\ 0';'代替'analysisBuffer [0] = '\ 0';'? – tdk001
重申您的要求:删除给定序列后发生的所有“0”。是否有必要修改字符串或允许复制? – pmr
只修改字符串 – Yakov