【发布时间】:2009-05-10 11:14:39
【问题描述】:
我有一个打开并准备好的文件流。
如何访问和更改流中的单个字节,以便将更改反映在文件上?
有什么建议吗?
【问题讨论】:
标签: c
我有一个打开并准备好的文件流。
如何访问和更改流中的单个字节,以便将更改反映在文件上?
有什么建议吗?
【问题讨论】:
标签: c
#include "stdio.h"
int main(void)
{
FILE* f = fopen("so-data.dat", "r+b"); // Error checking omitted
fseek(f, 5, SEEK_SET);
fwrite("x", 1, 1, f);
fclose(f);
}
【讨论】:
FILE* fileHandle = fopen("filename", "r+b"); // r+ if you need char mode
fseek(fileHandle, position_of_byte, SEEK_SET);
fwrite("R" /* the value to replace with */, 1, 1, fileHandle);
【讨论】:
#include <stdio.h> /* standard header, use the angle brackets */
int main(void)
{
char somechar = 'x'; /* one-byte data */
FILE* fp = fopen("so-data.txt", "r+");
if (fp) {
fseek(fp, 5, SEEK_SET);
fwrite(&somechar, 1, 1, fp);
fclose(fp);
}
return 0; /* if you are on non-C99 systems */
}
【讨论】: