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

Прочесть ту или иную строку из файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Замена русских символов пробелами http://www.cyberforum.ru/cpp-beginners/thread1080078.html
Необходимо написать программу по замене русских символов на пробелы(_) Моя программа запускается, но почему-то вместо пробелов какие-то непроизносимые символы, помогите исправить Буду очень...
C++ Итератор Вот задача: Реализовать шаблон упорядоченного массива как двусвязного списка. Операцию доступа по индексу заменить итератором. Вопрос: как понять второе предложение в условии? http://www.cyberforum.ru/cpp-beginners/thread1080067.html
Потоки на семафорах C++
помогите правильно расставить в коде семафоры. Потоки реализуют запись в циклический буфер поочередно через случайное время. Если буфер переполнен, то поток записи в буфер ожидает, пока поток на...
Найдите ошибку, программа на строки C++
#include "stdafx.h" #include "conio.h" #include "string.h" #include "iostream" using namespace std; int main() { setlocale(LC_ALL, "rus");
C++ Корень произвольного степени из произвольного числа, введенного с клавиатуры http://www.cyberforum.ru/cpp-beginners/thread1080052.html
Не применяя встроенных функций, найти корень произвольного степени из произвольного числа, введенного с клавиатуры. Из четырех первых цифр дробной части найденного числа сформировать множество А. ...
C++ Найти сумму 10 членов ряда Найти сумму 10 членов ряда http://www.fotolink.su/v.php?id=681f895a2a7d72af633fb78533570d39 подробнее

Показать сообщение отдельно
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.01.2014, 19:24
Цитата Сообщение от WebSofter Посмотреть сообщение
Хочу по порядковому номеру узнать ИД книги, т.е. есть функция getID(), который возвращает массив всех существующих ИДов и мне надо ввести номер порядка книги и узнать ее ИД, т.е. getID()[1] будет возвращать ИД первой книги, если какая-то книга удалена, к примеру вторая, то getID()[2] будет возвращать ИД 3 т.е. ИД и порядок могут не совпадать по прчине удаления книги по этому ИДу
Проблема с кирилицей здесь каким боком?

Добавлено через 9 минут
И на вопросы не отвечаете:
Цитата Сообщение от alsav22 Посмотреть сообщение
В файле структуры записаны?
Добавлено через 28 минут
Если записи в файле - структуры:
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
#include <iostream>
#include <fstream>
using namespace std;
 
int getID(int books[])
{
    ifstream fin("biblioteka.txt");
    if (!fin) 
        cout << "Error!" << endl;
    else
    {
        long in = 0;
        char ch;
        while(fin)
        {
            if (fin >> ch >> books[in]) // пропускаем первый символ # и читаем, число за ним, в масссив
                in++;
            for (int i = 0; i < 12; ++i) // пропускаем '\n' этой строки и ещё 11 строк с полями структуры
                fin.ignore(100, '\n');
        }
        return in; // количество считанных ID
    }
    
    return 0;
}
 
 
int main()
{
    int books[1000]; // массив под ID
    
    int number = getID(books);
    
    if (number) // если считаны ID
        for (int i = 0; i < number; ++i) 
            cout << books[i] << ' ';
    
    cin.get();
    return 0;
 }
Добавлено через 6 минут
Если в файле структуры, то нет никакой необходимости разделять их какими-либо образом (типа: строкой со спецсимволом #). Достаточно сделать ID первым полем структуры. Тогда, для создания массива ID, просто считывается каждое первое поле структуры в файле.
Строки-разделители, со спецсимволами, имеет смысл применять, когда записи по книгам имеют разный размер.
1
Миниатюры
Прочесть ту или иную строку из файла  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru