1024 バイトのランダム データのファイルを作成しようとしています。これを実行すると、fread 行でセグメンテーション違反エラーが発生します。私が間違っていることを誰かが見ていますか?ありがとう!
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#define PERMS 0666
int main() {
char buf[1024];
if (creat("test.txt", PERMS) < 0) {
fprintf(stderr, "couldn't create file\n");
exit(0);
}
char randomData[1024];
FILE* fp;
fp = (void*) open("/dev/urandom", O_RDONLY, PERMS);
fprintf(stderr, "here\n");
fread(&randomData, 1024, 1, fp);
fclose(fp);
return 0;
}