我想用下面的代碼來回報一些字母。一些字符用fwrite刪除
但是,結果顯示 「A零位」 而不是 「A」 ......我怎樣才能去除零空間...
PS。我正在修改二進制文件信息。
char *pos = NULL;
if(NULL != (posFind = strstr(fp, "AB");
strncpy(&fp->base[0], "A", 2);
if(_fseek64(fp, 0, SEEK_SET)!= 0) return ZD_ERROR_IO_FAILED;
fwrite(&fp->base[0], 2, 1, fp);
你似乎在你的第一個if中缺少一些')'。 – 2010-09-02 01:25:44
大家都錯過了這段代碼被破壞的原因 - 它直接在'FILE'結構的內部戳了一下。你不能將不需要調用未定義行爲的'FILE'結構本身的地址傳遞給'fwrite'。 – 2010-09-02 01:56:02