我是C的新手,我目前正在尝试读取内容为“6”的文件而不是其他内容。每当我运行文件时,我得到:总线错误:10。
#include <stdio.h>
#include <stdlib.h>
char input(void);
int main(int argc, char** argv)
{
input();
return (EXIT_SUCCESS);
}
char input(void)
{
FILE *fp;
char *score;
fp = fopen("data.bin", "rt");
fscanf(fp,"%s", score);
printf("%s", score);
fclose(fp);
}
答案 0 :(得分:1)
我修改了你的代码:
#include <stdio.h>
#include <stdlib.h>
void input(void);
int main(int argc, char** argv) {
input();
return(EXIT_SUCCESS);
}
void input(void) {
char buffer[10];
FILE *ptr;
ptr = fopen("data.bin","rb"); // r for read, b for binary
fread(buffer, sizeof(buffer), 1, ptr); // read 10 bytes to our buffer
printf("%s", buffer);
fclose(ptr);
}
输出:
6
以及更多内容,请阅读:Read/Write to binary files in C。