主题:[讨论]c++read参数问题
c++中的 函数原型ostream & read(char *buf, streamsize num)的参数问题
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int n[5]= {1,2,3,4,5};
ofstream ofile("test1.bin", ios::out | ios::binary);
if(! ofile)
{
cout << "Cannot open file.\n";
return 1;
}
[color=FF0000]ofile.write((char*)&n,sizeof(n));[/color]
ofile.close();
for(int i=0; i<=4; i++)
{
n[i] = 0;
}
ifstream ifile("test1.bin",ios::in | ios::binary);
if(! ifile)
{
cout << "Cannot open the file.\n" ;
return 1;
}
[color=FF0000]ifile.read((char*)&n,sizeof(n));[/color]
for (i=0; i<=4; i++)
{
cout << n[i];
}
ifile.close();
return 0;
}
上述例子中的红色字体:ifile.read((char*)&n,sizeof(n))中的参数 (char*)&n代表的是缓冲区的首地址么? 可是n是个数组的首地址哦。恳请大哥么,帮帮小弟
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int n[5]= {1,2,3,4,5};
ofstream ofile("test1.bin", ios::out | ios::binary);
if(! ofile)
{
cout << "Cannot open file.\n";
return 1;
}
[color=FF0000]ofile.write((char*)&n,sizeof(n));[/color]
ofile.close();
for(int i=0; i<=4; i++)
{
n[i] = 0;
}
ifstream ifile("test1.bin",ios::in | ios::binary);
if(! ifile)
{
cout << "Cannot open the file.\n" ;
return 1;
}
[color=FF0000]ifile.read((char*)&n,sizeof(n));[/color]
for (i=0; i<=4; i++)
{
cout << n[i];
}
ifile.close();
return 0;
}
上述例子中的红色字体:ifile.read((char*)&n,sizeof(n))中的参数 (char*)&n代表的是缓冲区的首地址么? 可是n是个数组的首地址哦。恳请大哥么,帮帮小弟