【发布时间】:2011-04-18 13:44:10
【问题描述】:
在 C 中,我如何从字节数组中读取一个字节,将其放入文件中,然后一遍又一遍地循环,直到找到我想停止读取的特定字节?
例子:
while (x = fgetc(file) != EOF )
{
count++;//Counts the number of bytes
}
chars = (unsigned char*) malloc (sizeof(unsigned char)*count+1);
rewind(file);
FILE* output_file = fopen("Filename.jpg", "rb");
while(chars[i] != specificByte)
{
fwrite(?,?,?,?);
}
这不是我使用的确切代码,但我只是想把一些东西放在那里以显示我遇到问题的地方。
直接从文件中读取而不是将字节放入数组中会更好吗?
【问题讨论】:
-
如果你已经有了字节数组,为什么不直接遍历数组来找到你正在寻找的特定字节呢?
-
好吧,不用考虑,我可以告诉你,第一个
?应该是output_file。 -
@T.E.D.下次,试着考虑一下:)
fwrite()中的第一个参数是包含您要写入的字节的缓冲区。FILE*位于末尾。另外,我很确定在已打开读取的文件上调用fwrite()会失败。 -
@Joey:在
x = fgetc(file) != EOF之后,x将是0或1。这可能不是您想要的,尽管它适用于这种特定的while案例。 -
@JeremyP - 啊,这有什么好玩的? :-P