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

标签 c file

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

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

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

最佳答案

如果您打算将缓冲区写回文件,则只需按以下方式覆盖缓冲区即可:

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) 

关于c - 从 C 中的偶数地址中删除字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43718310/

相关文章:

c - 什么时候使用小读取的顺序查找比读取整个文件慢?

c++ - Linux 中 XInput* 函数的等价物是什么?

c - 这段代码有错误吗?如果有的话,在哪里

c - 我的 while 循环上的错误代码,试图逐行读取文件。在C中

c - 编写简单的 GUI 应用程序?几个注意事项

c++ - 我可以在我的 ActionScript-3 代码中使用 C/C++ 代码吗?

jquery - jquery通过id获取文件大小

c - 跨线程拆分文本文件

javascript - 如何在内存中创建一个文件供用户下载,而不是通过服务器?

c - 用C读取txt文件