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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dima_c8
4 / 4 / 0
Регистрация: 17.12.2011
Сообщений: 148
#1

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

02.03.2012, 15:38. Просмотров 378. Ответов 2
Метки нет (Все метки)

Вот задача такая нужно прочитать из файла число прибавить к нему один и записать полученную суму обратно в этот же файл.Вот как я это пытался зделать:
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++
#include &lt;iostream&gt; using namespace std; char a; int k, i; int main() { setlocale(0, &quot;&quot;); cout &lt;&lt; &quot;Введите...

Исправить ошибки в программе - C++
3. Даны действительные числа a, b, c, d, s, t, u (s и t одновременно не равны нулю). Известно, что точки (a, b) и (c, d) не лежат на...

Исправить ошибки в программе - C++
#include&lt;stdio.h&gt; void NewMatr(int **matr, int size) { for(int i=0;i&lt;size;i++) for(int j=0;j&lt;size;j++) {...

Исправить ошибки в программе - C++
#include &lt;vector&gt; #include &lt;limits&gt; using namespace std; int n, minrow, INF; vector &lt; vector&lt;int&gt; &gt; a; vector&lt;int&gt; xy,...

Исправить ошибки в программе на С++ - C++
#include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;vector&gt; using namespace std; class Comp { public: boolean...

Исправить ошибки в программе C++ - C++
База данных есть некоторые ошибки не могу исправить... #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
sandye51
программист С++
682 / 584 / 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
4 / 4 / 0
Регистрация: 17.12.2011
Сообщений: 148
04.03.2012, 08:03  [ТС] #3
А что делает функцыя fail и c_str ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2012, 08:03
Привет! Вот еще темы с ответами:

Исправить ошибки в программе - C++
Написать программу которая выводит ваше имя на экран в основном модуле и в модуле функции... #include&lt;stdio.h&gt; fun(); voind main()...

Исправить ошибки в программе - C++
Здравствуйте,знаю что намудрил,буду очень благодарен, удалось убрать большинство ошибок,но некоторые остались, заранее спасибо! Текст...

Доделать и исправить ошибки в программе! - C++
Кодирование Хаффмана Нужно доделать и исправить ошибки в программе! По 11 варианту! См. приложения! Нужно перенести большую часть...

Исправить ошибки в простой программе - C++
4-угольник задан координатами вершин. Вычислить его площадь. Вроде бы как должно считать..а в результате постоянно выдает 0. ...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru