从C中的偶数地址中删除字节

时间:2017-05-01 11:22:42

标签: c file

我必须从文件中删除在C中的偶数地址中找到的字节。我已经为rw打开了文件,我找到了它的长度并将内容放在缓冲区中。我怎样才能循环每个字节?我试过这个,看看我在缓冲区里有什么:

for(i=0;i<len;i=i+2)
    printf("%d",buffer[i])

但是在缓冲区中保存了字符的ASCII码。它对我未来的线路代码有什么影响吗?我必须在另一个文件中写入所需的输出,或者我可以删除文件的初始内容并在文件中写入修改后的缓冲区?

1 个答案:

答案 0 :(得分:0)

如果您打算将缓冲区写回文件,那么只需以这种方式覆盖缓冲区:

int front = 0;
int back = 0;
while (front < len) {
    buffer[back] = buffer[front];
    back++;
    front += 2;
}
int newLen = back;
// Write the buffer to disk using the the new length (newLen)