Проблема возникает на этапе чтения из файла, так как я открыл файл hex редактором, и в нем число есть. Что я делаю не так?
#include <iomanip>
#include <fstream>
#include <vector>
#include <cmath>
#include <iostream>
using namespace std;
int main() {
ifstream fin("input.bin", ios::binary | ios::in);
ofstream fout("input.bin", ios::binary | ios::out);
int x = 499;
int y;
fout.write((char*)&x, sizeof(int));
fin.read((char*)&y, sizeof(int));
cout << y;
fout.close();
fin.close();
}
И все же считаю, что сначала нужно поработать с файлом на запись, закрыть, а уже потом работать на чтение.
Если у вас до начала программы файла нет - как вы его открываете для чтения?
int main()
{
int x = 499;
cout << "x= " << x << "\n";
int y;
ofstream fout("input.bin", ios::binary);
if (!fout.is_open()) cout << "Error out\n";
fout.write((char*)&x, sizeof(int));
fout.close();
ifstream fin("input.bin", ios::binary);
if (!fin.is_open()) cout << "Error in\n";
fin.read((char*)&y, sizeof(int));
fin.close();
cout << "y="<<y<<"\n";
}
После записи данных нужно сделать .flush()
. Кэш файловой системы и все дела...
// g++ -Wall -std=c++11 input.cpp
#include <iomanip>
#include <fstream>
#include <vector>
#include <cmath>
#include <iostream>
using namespace std;
int main() {
ifstream fin("input.bin", ios::binary | ios::in);
ofstream fout("input.bin", ios::binary | ios::out);
int x = 499;
cout << "x="<<x<<"\n";
int y;
fout.write((char*)&x, sizeof(int));
fout.flush();
fin.read((char*)&y, sizeof(int));
cout << "y="<<y<<"\n";
fout.close();
fin.close();
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я написал программу и начал проверять ееУ нее стоит условие, что время выполнения меньше 1 секунды
Я пытался разобраться со встраиванием сам, но не особо уверен в некоторых деталяхНасколько я понял встраивание происходит автоматически,...
Как правильно вывести символ новой строки в поток std::ostream, передаваемый функции?