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

Открытие файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Переписать с C# в C++ http://www.cyberforum.ru/cpp-beginners/thread635034.html
есть код c# class SomeClass { public static string Arr = { "One", "Two", "Three" }; ...............................................
C++ Как инициализровать константное поле класса в конструкторе? Здравствуйте. Такая проблема. Класс работает с множеством картинок одинакового разрешения. Размеры картинки должны храниться в полях класса(естественно лучше константных). Такая проблема:... http://www.cyberforum.ru/cpp-beginners/thread635025.html
C++ Замена фигур на шахматной доске
задача. расставить случайным образом четырех коней на шахматной доске (два белых и два черных). вывести отдельно список полей под боем каждого из коней, список полей под боем нескольких (указать...
C++ Генератор слов
Здравствуйте! Хочу написать программу по генерированию слов из набора букв, но даже не представляю с чего начать... Может кто-нибудь посоветовать с чего начать? Спасибо большое... Опишу немного...
C++ Очередь с приоритетом http://www.cyberforum.ru/cpp-beginners/thread635009.html
/* ПОМОГИТЕ пож. в задаче не могу реализовать статистику печати, т.е. вывода на экран времени когда кто вошёл в очередь и не получается отсортировать по приориттам клиентов, др. словами у меня...
C++ Класс матриц с арифметическими операциями С++ Я создаю класс матриц с операциями сложения, умножения, вычитания матриц, умножения на константу, транспонирования на С++. Почему-то не работает умножение матриц. Помогите пожалуйста. Вот код. ... подробнее

Показать сообщение отдельно
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.08.2012, 23:26
Цитата Сообщение от alexey31415 Посмотреть сообщение
сейчас всё работает должным образом
Код который работает, можно, посмотреть? Каким путём пошли?

Добавлено через 54 минуты
Вот рабочий код с выводом данных из файла.
Код
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include<iostream>
#include <fstream>
#include <Windows.h>
#include <cstdlib>
#include <string>
#include <vector>
using namespace std;
 
int main()
{
    setlocale(0,"");
 
    int CountOfFiles = 0;
 
    fstream data("info.txt", ios::in | ios::binary);
    
    //если файл ещё не существует
    if(!data.is_open())
    {
        ofstream out("info.txt", ios::binary);
        // запись количества файлов.
        out.write(reinterpret_cast<const char *>(&CountOfFiles), sizeof(CountOfFiles));
        out.close();
        out.clear();
        cout << "Файлов ещё нет!" << endl;
    }
    else
    {
        // запись количества файлов.
        data.read(reinterpret_cast<char *>(&CountOfFiles), sizeof(CountOfFiles));
        data.close();
        data.clear();
    }
        
    cout << "Введите название файла" << endl;
    string Temp;
    cin >> Temp;
    Temp += ".txt";
    
    fstream data2("info.txt", ios::out | ios::in | ios::binary);
    
    //записываем новое кол-во файлов.
    CountOfFiles++;
    data2.seekp(0, ios::beg);
    data2.write(reinterpret_cast<const char *>(&CountOfFiles), sizeof(CountOfFiles));
    
    //пишем название нового файла.
    data2.seekp(0, ios::end);
    data2.write((const char*)&(Temp[0]), Temp.size());
    
    // дописываем после каждой строки символ \n, для правильного считывания getline().
    char ch = '\n';
    data2.write(&ch, sizeof(ch));
    
    data2.close();
    data2.clear();
    
    data2.open("info.txt");
    
    vector <string> vstr; // для хранения названий файлов.
    char buff[255]; // буффер для заполнения вектора строками.
    int n = 0; // для хранения количества файлов.
    
    // считываем количество файлов в n.
    data2.read(reinterpret_cast<char *>(&n), sizeof(int));
    
    // считывание названий файлов в вектор.
    for (int i = 0; i < n; i++)
    { 
        data2.getline(buff, 255);
        vstr.push_back(buff);
    }
    
    cout << "Количество файлов - " << n << endl;
    
    // распечатка вектора строк с названиями файлов.
    for (int i = 0; i < vstr.size(); i++)
            cout << vstr[i] << endl;
 
    data2.close();
    data2.clear();
        
    system("pause");
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru