Форум программистов, компьютерный форум CyberForum.ru

Исправить ошибки в программе - C++

Восстановить пароль Регистрация
 
Dima_c8
 Аватар для Dima_c8
4 / 4 / 0
Регистрация: 17.12.2011
Сообщений: 148
02.03.2012, 15:38     Исправить ошибки в программе #1
Вот задача такая нужно прочитать из файла число прибавить к нему один и записать полученную суму обратно в этот же файл.Вот как я это пытался зделать:
1 - ый вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <fstream>
int main()
{
      fstream file;
      file.open( "File.txt" , ios::in|ios::out );
      long num;
      file >> num;
      file << ++num;
      file.close();
      return 0;
}
и второй вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <fstream>
int main()
{
      fstream file;
      file.open( "File.txt" , ios::in|ios::out );
      long num;
      file >> num;
      file.close();
      file.open( "File.txt" , ios::in|ios::out );
      file << ++num;
      file.close();
      return 0;
}
Я проверял проблемы начинаются: в варианте 1 строка 8 а в варианте 2 строка 10.Что то мне кажется вариант 2 поадыкватней .Оба варианта компилируются нормально но оба варианта стирают все содержимое файла.А не вписывают нужную цифру.Подскажите что не так в кодах.Заранее всем спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2012, 15:38     Исправить ошибки в программе
Посмотрите здесь:

C++ Исправить ошибки в программе
Исправить ошибки в программе на С++ C++
Исправить ошибки в программе C++
C++ Исправить ошибки в программе
Нужно исправить ошибки в программе C++
Доделать и исправить ошибки в программе! C++
C++ Исправить ошибки в программе C++
C++ Помогите исправить ошибки в программе

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
02.03.2012, 18:39     Исправить ошибки в программе #2
Dima_c8, правильный вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//
//  main.cpp
//  test
//
//  Created by Ilya Lavrenov on 3/2/12.
//  Copyright (c) 2012 [email]sandye64@gmail.com[/email]. All rights reserved.
//
 
#include <iostream>
#include <fstream>
#include <string>
 
int main(int argc, const char * argv[])
{
    std::string fileName;
    std::cout << "Enter the file name" << std::endl;
    std::cin >> fileName;
    std::fstream file(fileName.c_str(), std::ios::in);
    if (file.fail())
    {
        std::cerr << "Bad file name" << std::endl;
        return EXIT_FAILURE;
    }
    unsigned long int value;
    file >> value;
    value++;
    file.close();
    file.open(fileName.c_str(), std::ios::out);
    file << value;
    file.close();
    return 0;
}
Dima_c8
 Аватар для Dima_c8
4 / 4 / 0
Регистрация: 17.12.2011
Сообщений: 148
04.03.2012, 08:03  [ТС]     Исправить ошибки в программе #3
А что делает функцыя fail и c_str ?
Yandex
Объявления
04.03.2012, 08:03     Исправить ошибки в программе
Ответ Создать тему
Опции темы

Текущее время: 02:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru