Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Как реализовать выбор чтения строк


Автор: jmp 7.1.2008, 11:01
Это снова я %)

вот мой код чтения строки из файла
Код

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    string FF;
    ifstream base("db.x");
    getline(base, FF); //для того чтоб не обрывалось после пробела
    base.close();
    cout<< FF << "\n";
    system("pause");
}


в файле db.x чтото вроде

Код

-zzz xxx ccc
-ddd fff ddd

мне нужно както выбрать первую строку читать или вторую..ну или на будущее третью там smile
вот это и прошу подсказать...

сейчас выводиться кстати только 1 строка...ничего что под ней не выводиться..
рекомендации как обычно - стиль с++ (не Сишный) использование чегото кроме #include <iostream> и #include <fstream> нерекомендуеться..


Автор: JackYF 7.1.2008, 11:31
Цитата(jmp @  7.1.2008,  10:01 Найти цитируемый пост)
мне нужно както выбрать первую строку читать или вторую..

тебе нужно: спросить у пользоветеля, сколько строк пропустить, например

Код

unsigned int skipCount;
std::cin >> skipCount;


затем считать skipCount строчек, но не выводить их, а затем считать ещё одну строчку и вывести её на экран.

Автор: jmp 7.1.2008, 11:40
JackYF, спасибо...
а 
Код

skipCount
 это что?
просто какаято наша переменная?
извини, немогу понять как это будет выглядеть все в сборе

Автор: archimed7592 7.1.2008, 11:50
Цитата(jmp @  7.1.2008,  11:40 Найти цитируемый пост)
а 
skipCount
 это что?

Это переменная. Там всего две строки:
1: определяет переменную.
2: считывает в неё значение с клавиатуры.

Автор: jmp 7.1.2008, 12:02
Цитата(archimed7592 @  7.1.2008,  11:50 Найти цитируемый пост)
Там всего две строки:
1: определяет переменную.
2: считывает в неё значение с клавиатуры

хех, ну это понятно, неясно другое - как это мне поможет? могбы написать ктонибудь код что в 1 посте всборе?

Автор: JackYF 7.1.2008, 12:32
Цитата(jmp @  7.1.2008,  11:02 Найти цитируемый пост)
могбы написать ктонибудь код что в 1 посте всборе?

ну, типа такого:

Код

#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    string FF;
    ifstream base("db.x");
    cout << "How many strings have we skip?";
    unsigned int skipCount;
    cin >> skipCount;
    for (unsigned int i = 0; i < skipCount; ++i)
    {
      getline(base, FF);
    }
    getline(base, FF);    
    base.close();
    cout<< FF << "\n";
    system("pause");
}

Автор: jmp 7.1.2008, 13:06
JackYF, вот теперь все супер.ю..спасибо.. 

Автор: jmp 11.3.2008, 02:26
Друзья, возвращаюсь к старому вопросу, изза привратности судьбы, понадобилось мне чтоб выбраная строка сохранялась не в string переменную а в  char размера с [100]

казалось бы поменять везде на char'ы и дело с концом, но нетутто было, с ним этот код неработает! что делать, помогите! :(

Автор: bsa 11.3.2008, 12:25
для начала надо использовать не std::getline, а std::istream::getline:
Код
char a[100];
cin.getline(a, 100);
А если длина строк может быть больше 99, то нужно будет писать код, по пропуску символов конца строки, вместо считывания строки целиком.

Автор: jmp 13.3.2008, 07:14
bsa 
спасибо smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)