給定一個字符串(作爲函數的參數),在給定字符組合後,如果退出(它只是修改字符串),我需要刪除零序列。例如,如果字符組合爲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