我在fwrite()和fread()上遇到了麻烦> > [

问题描述 投票:0回答:1
#define ARRAY_SIZE 10 #include <iostream> using namespace std; int main() { // create array mas1 of ARRAY_SIZE integers and fill it with random values int array1[ARRAY_SIZE]{ 10, 78, 23, 81, 50, 15, 24, 26, 90, 59 }; // write ARRAY_SIZE integers from array1[] to f1.txt FILE* f1; fopen_s(&f1, "f1.txt", "w+"); fwrite(array1, sizeof(array1[0]), ARRAY_SIZE, f1); // read ARRAY_SIZE integers from f1.txt to array2[] fseek(f1, 0, SEEK_SET); int array2[ARRAY_SIZE]; fread(array2, sizeof(array2[0]), ARRAY_SIZE, f1); // print array1 cout << "array1: "; for (int i = 0; i < 10; i++) { cout << array1[i] << " "; } cout << endl; // print array2 cout << "array2: "; for (int i = 0; i < 10; i++) { cout << array2[i] << " "; } }
输出:array1:10 78 23 81 50 15 24 26 90 59array2:10 78 23 81 50 15 24 -858993460 -858993460 -858993460

为什么array1正常输出,而array2不正常?我使用Visual Studio 2019

#define ARRAY_SIZE 10 #include

使用名称空间std; int main(){//创建ARRAY_SIZE整数的数组mas1并用随机值填充int array1 [ARRAY_SIZE] {10,78,...

c++ windows fwrite fread
1个回答
-1
投票
将fwrite修改为

fwrite(array1, sizeof(int), ARRAY_SIZE, f1);

© www.soinside.com 2019 - 2024. All rights reserved.