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

Чтение/запись из/в файл .txt - C++

Восстановить пароль Регистрация
 
ruschelser
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 10
19.12.2013, 00:53     Чтение/запись из/в файл .txt #1
Имеется файл названный stses формата txt, и вот его содержание:

3
Loyed 4
Greable 7
Otto 2


в методичке приведен пример проги, которая сначала извлекает данные из сего файла, а потом записывает в него на последнюю строчку: Yakov 1

вот код:

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
33
34
35
#include "stdafx.h"
#include "iostream"
#include "string.h"
#include "fstream"
#include "conio.h"
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int n,*M,i;
    char **name,fam[30];
 
       fstream ff("stses.txt");
       ff>>n;
       name=new char*[n];
       M=new int[n];
 
                    for(i=0;i<n;i++)
                    {
                       ff>>fam>>M[i];
                       name[i]=_strdup(fam);
                    }
                    ff.close();
 
 
                                    
    ff.open("stses.txt",ios::app);
    ff<<"Gerber "<<5;
    ff.close();
 
    _getch();
    return 0;
}
}
Через мгновение после начала компиляции мне выдается ошибка (см. вложения)

самая простая прога, которая должна работать, так как она из методички и там все по кусочкам объясняется, но вот эта хрень происходит

Помогите пожалуйста в решении данной проблемы (у меня зачет в пятницу и надо писать наподобие этой((((()
Миниатюры
Чтение/запись из/в файл .txt  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2013, 00:53     Чтение/запись из/в файл .txt
Посмотрите здесь:

[C++]Чтение и запись в файл C++
Запись путей файлов в *.txt файл. C++
Запись текста в файл txt C++
Чтение/запись в файл C++
Чтение и запись в файл C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.12.2013, 01:27     Чтение/запись из/в файл .txt #2
Открытие файла для чтения всегда проверять нужно (может в этом дело):
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
int n, *M, i;
    char **name, fam[30];
 
    fstream ff("stses.txt");
    if (!ff) cout << "Error!" << endl;
    else
    {
        ff >> n;
        name = new char*[n];
        M = new int[n];
 
        for(i = 0; i < n; i++)
        {
            ff >> fam >> M[i];
            name[i] = _strdup(fam);
        }
        ff.close();
 
        ff.open("stses.txt",ios::app);
        ff<<"Gerber "<<5;
        ff.close();
    }
    _getch();
    return 0;
У меня, этот код, ошибки не вызывает.
ruschelser
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 10
19.12.2013, 23:46  [ТС]     Чтение/запись из/в файл .txt #3
запускается консоль на которой вывелось error!
а что за ошибка понятия не имею
и объясните что за условие "!ff"
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.12.2013, 23:56     Чтение/запись из/в файл .txt #4
Цитата Сообщение от ruschelser Посмотреть сообщение
запускается консоль на которой вывелось error!
а что за ошибка понятия не имею
и объясните что за условие "!ff"
Ошибка при открытии файла. Файл не находит. Файл для чтения должен существовать и находиться в папке проекта.
ruschelser
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 10
19.12.2013, 23:58  [ТС]     Чтение/запись из/в файл .txt #5
спасибо
попытаюсь понять в чем дело
нам сказали что файл может находиться в папке проекта, вот я его туда и кидаю
может ли быть это еще из-за того, что название в проге с указанием типа, а вот в папке с проектом с указанием что файл txt?
хотя я и с наванием и без пробовал - одна хрень
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.12.2013, 00:09     Чтение/запись из/в файл .txt #6
Что бы не гадать. В самом начале кода пропишите:
C++
1
ofstream f2("test.txt");
И посмотрите, где появится этот файл и как будет выглядеть его имя в папке. Вот там должен быть и файл для чтения, и выглядеть (формат имени) точно так же. Бывает заморочка с именем файла и расширением. Может в ОС расширения файлов скрыты. Тогда нужно имя файла задавать без расширения, которое система сама добавит, иначе, если задать имя файла, как в коде, то реально получится файл с другим полным именем (в конце имени .txt.txt будет).
ruschelser
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 10
20.12.2013, 00:31  [ТС]     Чтение/запись из/в файл .txt #7
вот простейшая прога, а не работает - все одни и те же ошибки
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.12.2013, 00:38     Чтение/запись из/в файл .txt #8
Цитата Сообщение от ruschelser Посмотреть сообщение
вот простейшая прога, а не работает - все одни и те же ошибки
Это ответ на 6 пост? Или что?
ruschelser
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 10
20.12.2013, 00:42  [ТС]     Чтение/запись из/в файл .txt #9
это печальный вывод из того что происходит сейчас в этом грёбаном visual(((
nomyac
2 / 9 / 1
Регистрация: 12.10.2013
Сообщений: 43
20.12.2013, 00:46     Чтение/запись из/в файл .txt #10
Господи, да проблема только с выделением памяти. Я не стану кидать код т.к. считаю, что полезнее автору разобраться самому
C++
1
2
name = new char*[n];
        M = new int[n];
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.12.2013, 00:48     Чтение/запись из/в файл .txt #11
Кроме печальных выводов, хотелось бы ещё узнать результат предложенных, в 6 посте, действий. Я время трачу на что?

Добавлено через 1 минуту
nomyac, вы посты читаете? Прочитайте третий. Код рабочий (проверено), и с памятью там всё нормально.
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
20.12.2013, 00:51     Чтение/запись из/в файл .txt #12
ruschelser, это код в точности из вашей методички?
Если так, то сочувствую вам, сам учусь в подобном заведении. Сходу видно, что память не освобождается с помощью delete. Это раз.
Слышали или пытались найти что такое std::bad_alloc ? Значит невозможно выделить достаточно памяти или какая-то проблема с хипом. Это 2.
Пошагово пройдитесь по программе, определите место ошибки. Перехватите исключение и посмотрите, что выдаст std::Exception::what().
http://www.cplusplus.com/reference/n.../?kw=bad_alloc - вот пример.
ruschelser
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 10
20.12.2013, 00:53  [ТС]     Чтение/запись из/в файл .txt #13
найти не пытался, но возможно поможет - сейчас помозгую на этот счет
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.12.2013, 01:00     Чтение/запись из/в файл .txt #14
gromo, с памятью там всё в порядке. Ещё раз: код рабочий, проверено. bad_alloc из-за того, что файл не открывается (3 пост читайте!), соответственно в n ничего не считывается, в n муссор, под размер этого муссора выделяется память.

Добавлено через 2 минуты
Цитата Сообщение от ruschelser Посмотреть сообщение
сейчас помозгую на этот счет
Насчёт 6-го поста помозговать не хотите? Конкретный ответ дайте. Надоело уже в пустоту писать...
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
20.12.2013, 01:05     Чтение/запись из/в файл .txt #15
Цитата Сообщение от alsav22 Посмотреть сообщение
с памятью там всё в порядке. Ещё раз: код рабочий, проверено. bad_alloc из-за того, что файл не открывается (3 пост читайте!), соответственно в n ничего не считывается, в n муссор, под размер этого муссора выделяется память.
возможно. ТС трудно вставить проверку...
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.12.2013, 01:10     Чтение/запись из/в файл .txt #16
Цитата Сообщение от gromo Посмотреть сообщение
возможно. ТС трудно вставить проверку...
Он уже вставил (2 пост, 3 пост), раз пишет:
Цитата Сообщение от ruschelser Посмотреть сообщение
запускается консоль на которой вывелось error!
На консоль вывелось, значит срабатывает это:
C++
1
if (!ff) cout << "Error!" << endl;
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
20.12.2013, 01:14     Чтение/запись из/в файл .txt #17
alsav22, тогда не понятно к чему вся каша до сих пор варится
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.12.2013, 01:16     Чтение/запись из/в файл .txt #18
Цитата Сообщение от gromo Посмотреть сообщение
alsav22, тогда не понятно к чему вся каша до сих пор варится
Потому, что ТС не хочет делать то, что предлагается (6 пост). Пора от темы отписываться.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2013, 11:40     Чтение/запись из/в файл .txt
Еще ссылки по теме:

Запись в файл .txt во время исполнения програмы C++
C++ Запись результата программы в файл txt
Запись данных в файл txt C++

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

Или воспользуйтесь поиском по форуму:
Steve_noar
Сообщений: n/a
20.12.2013, 11:40     Чтение/запись из/в файл .txt #19
попробуй так -
по крайней мере если дело в том что файла нету, то исправит.
C++
1
fstream ff ("test.txt", ios_base::app)
и еще советую по флаги почитать именно для ios_base
Yandex
Объявления
20.12.2013, 11:40     Чтение/запись из/в файл .txt
Ответ Создать тему
Опции темы

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