在MAIN中,我们要求用户键入一个字符串。提取字符串后,应删除字符“ / N”。 这将他添加为哨兵之前的最后一行。 如果为n,则使用字符串的fgets-。以这样的方式写入字符串,其中包括“ / 0”。最后,程序会将字符串写入二进制文件。 我们从文件中读取的每个字符必须放置在动态数组中,以便每个fread元素。然后,用动态数组读取整个文件将是文件中的另一个字符。 (包括“ / 0”。)
我不知道如何制作“我们从文件中读取的每个字符都必须放置在动态数组中,以便每个fread元素。”
int main() {
char str[LEN];
printf("\n Please enter the string: ");
clean();
fgets(str, LEN, stdin);
removeNewLine(str);
FILE *fp = fopen("1.dat", "w+b");
if(fp == NULL) {
fprintf(stderr, "Can not open the file\n");
exit(1);
}
if(fwrite(str, sizeof(str), 1, fp) != 1) {
fprintf(stderr, "Can not write the file\n");
exit(1);
}
rewind(fp);
char tmp;
while(fread(&tmp, sizeof(char), 1, fp) == 1)
printf("%d, ", tmp);
if(ferror(fp)) {
fprintf(stderr, "Can not read the file\n");
exit(2);
}
fclose(fp);
return 0;
}