[英]What I don't see the content of the file after reading?
我用fwrite
寫入文件,然后讀取文件的內容,但是當我將其打印到緩沖區並通過“printf”將其打印到標准輸出時,我什么也沒看到...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
int main()
{
uint8_t *my_buffer = malloc(64UL);
FILE *fp1 = fopen("my_buffer_file", "w");
fprintf(fp1, "0123456789012345678901234567890123456789012345678901234567890123");
FILE *my_buffer_fd = fopen("my_buffer_file", "r" );
int my_new_ret = fread(my_buffer, 1, 64UL, my_buffer_fd);
int size = my_new_ret;
printf("my_buffer = |%s|\n", my_buffer);
printf("size = |%d|\n", size);
return 0;
}
有人知道為什么會這樣嗎?
您需要先關閉 fp1,然后才能讀取同一個文件,就像這樣-
int main()
{
uint8_t *my_buffer = malloc(64UL);
FILE *fp1 = fopen("my_buffer_file", "w");
fprintf(fp1, "0123456789012345678901234567890123456789012345678901234567890123");
fclose(fp1); // New line here
FILE *my_buffer_fd = fopen("my_buffer_file", "r" );
int my_new_ret = fread(my_buffer, 1, 64UL ,my_buffer_fd);
int size = my_new_ret;
printf("my_buffer = |%s| \n", my_buffer);
printf("size = |%d|\n", size);
return 0;
}
輸出:
my_buffer = |0123456789012345678901234567890123456789012345678901234567890123|
size = |64|
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.