I wrote the following program to see how read function works
ifstream inputFile;
char string[6];
int integerVariable;
inputFile.open("FILE_TEST.bin", ios :: binary);
inputFile.read((char *) string, sizeof(char) * 6);
//inputFile.read((char *) &string, sizeof(char) * 6);
inputFile.read((char *) &integerVariable, sizeof(int));
cout << "STRING: " << string << "VAR: " << integerVariable << endl;
In the case of a character string, the function works both using & and without using it. To create the file I also tried to use the write function and it has the same behavior.
ofstream outputFile;
char string[] = "TEST\n";
int integerVariable = 10;
outputFile.open("FILE_TEST.bin", ios :: binary);
outputFile.write((char *) string, sizeof(char) * 6);
//outputFile.write((char *) &string, sizeof(char) * 6);
outputFile.write((char *) &integerVariable, sizeof(int));
I expected that since string is a pointer, then it should not be necessary to use & and putting it should cause an error.
Aucun commentaire:
Enregistrer un commentaire