0
試圖將input_
緩衝區轉換爲output_
中的十六進制表示形式。簡單的操作遇到困難 - 將字符串插入到字符串中。我決定將output_
指針移動到每個sprintf後2個位置,並在末尾移動指向起始位置的指針。但看起來這可能是危險的,因爲根據我的理解,我將陣列的位置移動到另一個可能用於其他目的的存儲區域。我對嗎?如何解決字符串插入問題呢?將字符插入到cstring中
void toHexS(const char* input_, char* output_)
{
int i=0;
//for(i = 0; i < 5; i++)
while(input_[i]!=0)
{
stmcpy();
sprintf(output_,"%02x", input_[i]);
printf("%02x\n", input_[i]);
output_++;
output_++;
i++;
}
int j;
for(j = 0; j<i*2 ; j++)
{
output_--;
}
}
問題是什麼,問題是什麼?我假設你從這個函數的範圍以外分配內存。該功能無法知道分配的大小。你是否必須重用這個函數範圍以外的結果? (我是這麼認爲的)。 http://sscce.org/ – Sebastien
是否要將普通字符串轉換爲十六進制字符串? – Chinna
是的,我需要將普通字符串轉換爲十六進制字符串 – vico