@noytmant

Показывает старое значение вместо нового (std::stream)?

Вообщем:
1) Закачиваю текстовой файл
2) Затем открываю его и задаю строке ss значение
std::remove("base.txt"); // Удаляю старый файл, если он имеется
URLDownloadToFile(0, "url/base.txt", "base.txt", 0, 0);
std::ifstream f("base.txt");
std::stringstream ss;
ss << f.rdbuf();
f.close();

Я открыл файл base.txt, прочитал, получил значение (строку) и присвоил строку к ss
Далее происходит проверка
if(ss.str() == "OK")
{
   Load();
}
else
{
   Exit();
}

На первый раз оно скачивает файл видим там OK и вызывает функцию Load();
Далее я закрываю приложение, захожу на хостинг и меняю значение, теперь там не OK, а NO
Запускаю приложение, теперь мы получили значение NO, но в коде стоит проверка на OK, теперь должен произойти вызов функции Exit();
Но не тут то было, оно вызывает функцию Load() потому что значение файла было OK, а не NO
Какое бы значение я не писал в текстовом файле, оно его качает и каким то волшебным образом оставляет там старое значение. Но ведь скачан новый файл, с новым словом, откуда там вдруг появилось старое вместо нового. Может быть я что то не дописал? Или код не верный? Помогите решить эту проблему =(
  • Вопрос задан
  • 118 просмотров
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Я открыл файл base.txt, прочитал, получил значение (строку) и присвоил строку к ss

URLDownloadToFile(0, "url/base.txt", "base.txt", 0, 0);
std::remove("base.txt"); // Удаляю старый файл, если он имеется
std::ifstream f("base.txt");

А я вот вижу, что ты сначала файл начинаешь скачиваеть, потом удаляешь, а потом открываешь. Как это должно работать?
Второе -- URLDownloadToFile только начинает скачивание. Когда оно закончится ты не проверяешь.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы