如何在文件的位置指示器上读取单个值?

时间:2016-11-25 21:22:19

标签: c binaryfiles

所以我应该从二进制文件中读取一个随机值。到目前为止,我的代码看起来像这样。

char * filename = argv[1];
FILE * file = fopen(filename, "rb");
long int x;
x = random() % 100;
int ret = fseek(file, x, SEEK_SET);

所以我在随机值的位置有文件的位置指示器。现在我怎样才能从文件中只读取一个值?我已经在这个位置,我只需要阅读该位置的一个值。 此外,该文件中放置了100个随机整数。它是一个二进制文件。 我可以使用long int来获取文件中的随机值吗?或者我需要传递类似x = x * sizeof(int)的fseek?不确定我是否能够从二进制文件中获取我的randomg值因为我之前从未使用过这些文件所以我不知道我的代码是如何看待它的。由于它是用“rb”参数打开的,我的代码是否读取了base10中的值,还是看到了二进制转换?

1 个答案:

答案 0 :(得分:1)

我不能评论所以我在这里写作。您是否真的只需要读取一个令牌,或者您需要使用随机数Parallel.ForEach(files, file => { MoveFiles(file, str); }); 来访问令牌?

修改

由于您需要从文件中读取令牌,您可以使用:

x