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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
Grey5
2 / 2 / 0
Регистрация: 11.03.2010
Сообщений: 178
#1

Как перейти на новую строку в файле - C++

06.02.2013, 20:25. Просмотров 2088. Ответов 9
Метки нет (Все метки)

Итак, у меня есть некоторый вопрос насчёт считывания из файла некоторых данный.
Вообщем текстовые строки у меня берутся хорошо через getline(), числа я пытаюсь брать через обычные ">>" Но возникает проблема со следующим getline() который не заносит в требуемую переменную никакое слово, но при повторном вызове всё нормально берётся. Вот код. Скажите как мне числа лучше брать, или как не использовать два getline
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void zapolnenie()
{
    int z;
    ifstream R;  R.open("wwe.txt");
    R.getline(BD.name,50);
    R.getline(BD.adress,50);
    R>>z;
    for (int i = 0; i<z; i++)
    {
        R.getline(BD.zxc.name,50);
        R.getline(BD.zxc.name,50);
        R>>BD.zxc.price;
        R>>BD.zxc.size;
    }
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2013, 20:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как перейти на новую строку в файле (C++):

Как в файле перейти на новую строчку? - C++
Как в файле перейти на новую строчку? Пробовал так fstream sc(&quot;Save\\1.txt&quot;);//Открыл файл sc.getline(infscore,'endl'); //Считал инфу...

Как в файле сделать переход на новую строку - C++
Подскажите, пожалуйста, как произвести дозапись в файл с новой строки. Файл открыт через fopen

Как узнать что при считывание очередного слова в string был сделан переход на новую строку в файле? - C++
подскажите пожалуйста, как узнать что при считывание очередного слова в string был сделан переход на новую строку в файле?. ПС не...

Как считать строку scanf'ом при этом не переходя на новую строку, т.е. без использования Enter'а - C++
Как считать строку scanf'ом при этом не переходя на новую строку, т.е. без использования Enter'а, необходимо для интерактивного ввода в...

Как в редакторе на с++ перейти на какую то конкретную строку? - C++
У меня операционная система FreeDos 1.2 работаю в среде Borland C++3.0 Отлаживаю код в турбо дебаггере с++ 3.0 по шагам и проблема в том,...

Как отступить символ при чтении файла? Как перейти на следующую строку? - C++
использую библиотеку fstream. у меня два вопроса: первый: как отступить символ при чтении из файла? в файле у меня: &quot;score: 2546&quot; -...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
vxg
Модератор
3156 / 1958 / 218
Регистрация: 13.01.2012
Сообщений: 7,489
06.02.2013, 23:35 #2
после считывания числа вызывать
C++
1
R.ignore();
Grey5
2 / 2 / 0
Регистрация: 11.03.2010
Сообщений: 178
07.02.2013, 19:59  [ТС] #3
vxg, А не подскажите, можно ли предобьявить структуры так же как и функции?
Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
07.02.2013, 21:00 #4
Grey5, предобъявить? это как?

Добавлено через 18 секунд
создать прототип?
Саня gamer
96 / 70 / 1
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
07.02.2013, 21:01 #5
мо перегрузить?
Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
07.02.2013, 21:02 #6
Так? можно.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
 
struct tmp;
 
struct tmp
{
    int b;
};
 
int main()
{
    return 0;
}
Grey5
2 / 2 / 0
Регистрация: 11.03.2010
Сообщений: 178
07.02.2013, 21:58  [ТС] #7
Не не не, я же говорил что это как с функциями, то есть пишешь в начале что она есть, а потом в конце программы её код.
vxg
Модератор
3156 / 1958 / 218
Регистрация: 13.01.2012
Сообщений: 7,489
07.02.2013, 22:41 #8
с методами так можно, а прототипы методов и данные в любом случае придется показать там где собственно объявляется структура. исключение - это неполное объявление которое требуется если класс хочет оперировать с указателями на другую структуру которая еще не объявлена и может зависеть от этого класса.
Grey5
2 / 2 / 0
Регистрация: 11.03.2010
Сообщений: 178
08.02.2013, 15:11  [ТС] #9
Нет, как создать динамический массив структуры, который находится в динамическом массиве другой структуры.
Что то вроде example1[].example2[].
vxg
Модератор
3156 / 1958 / 218
Регистрация: 13.01.2012
Сообщений: 7,489
08.02.2013, 15:26 #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
struct s2;
 
struct s1
{
    s2 *vector2;
};
 
struct s2
{
    int x;
};
 
s1 *vector1 = new s1[10];
for (int i = 0; i < 10; i++)
    vector1[i].vector2 = new s2[10];
 
vector1[0].vector2[0] = 123;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2013, 15:26
Привет! Вот еще темы с ответами:

Как получить номер(или какой нить индифиактор) текущей строки в открытом файле и перейти затем на эту строчку? - C++
открываю файл так: ifstream input(&quot;morf.txt&quot;); перехожу на следующие строчки так: input.getline(buffer, 1024);

Как сделать проверку перехода на новую строку? - C++
Пусть задан istream in; Хочу проверить осуществляется ли переход на новую строку, то есть: 1) KEYWORD NEW 2) KEYWORD OLD

Как при вводе не переносить двоеточие на новую строку? - C++
Задача: Написать программу, в которой осуществляется перегрузка операции сложения. Разработать класс time, в состав которого включить...

Как ввести данные без перехода на новую строку? - C++
Собственно вопрос в заголовке. for (int i = 0; i &lt; 4; i++) { for (int j = 0; j &lt; 3; j++) { cin &gt;&gt; arr; } } Если вводить...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.02.2013, 15:26
Ответ Создать тему
Опции темы

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