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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.59
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
#1

Есть ли в С++ аналог Readln(F, var1,var2,...) в Паскале? - C++

29.07.2010, 16:02. Просмотров 4133. Ответов 9
Метки нет (Все метки)

Нужно прочесть из файла значения в переменные разделенные пробелами. Как это проще сделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2010, 16:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Есть ли в С++ аналог Readln(F, var1,var2,...) в Паскале? (C++):

есть ли аналог ДЛЛ в линукс - C++
возникла потребность запилить себе приложение под винду и линь (пишу на с++). тык вот, чтобы не делать своё приложение как в каменном...

Есть ли в студии аналог FloatToStr? - C++
Есть ли в студии аналог FloatToStr?

С++ есть ли аналог типу long в с#? - C++
Здравствуйте уважаемые Гуру! Есть ли в С++ тип для хранения больших целых чисел аналогичный long или ulong в с#? long ...

Какой есть аналог CreateGraphics из C#? - C++
Доброго времени суток. Собственно проблема возникла во время конвертации кода с C# на C++. Есть шарповский код: Graphics g =...

Есть ли в с++ какой-нибудь аналог in - C++
Есть ли в с++ какой-нибудь аналог in К примеру в вот такая задача Подсчитать количество гласных символов в тексте в паскале все...

Есть ли аналог функции scanf()? - C++
while (true) { puts("Enter student's surname and name:"); scanf("%s",&new_rec.fio); if...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Nameless One
Эксперт С++
5771 / 3420 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
29.07.2010, 16:21 #2
Попробуй scanf
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,602
29.07.2010, 16:22 #3
C
1
2
3
4
5
int a, b, c;
FILE * f;
/* открыть файл, убедиться, что открылся */
if ( fscanf(f, "%d %d %d", &a, &b, &c) != 3 )
  /* выдать сообщение об ошибке, завершить программу */
C++
1
2
3
4
5
6
int a, b, c;
std::ifstream ifs(file_name);
// убедиться, что файл открыт
ifs >> a >> b >> c;
if ( ifs.bad() )
  // сообщение об ошибке, выход.
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
29.07.2010, 16:30  [ТС] #4
easybudda, Спасибо...
А если у меня несколько строчек?? И в каждой из них нужно считывать по несколько переменных?
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
29.07.2010, 16:35 #5
AKE, Имхо аналогично. ХОтя не особо понятно, что именно вам нужно.
Что значит: несколько строчек?? И в каждой из них нужно считывать по несколько переменных?

Несколько строчек в файле? Несколько строчек в программе?

Несколько строчек в файле:
C++
1
 ifs>> a >> b >> c
и поехали далее.

Пример. Переменные a,b,c,d,e,f,g.
В файле 20, 30, 40 на первой строке, 50, 60, 70 на второй или на любой другой строке, 80 на третьей или на любой другой (после строки на которой 50, 60, 70) строке.
C++
1
ifs>> a >> b >> c >> d >> e >> f >> g;
После этого:
a=20, b=30, c=40, d=50 ect.
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,602
29.07.2010, 16:49 #6
Цитата Сообщение от AKE Посмотреть сообщение
А если у меня несколько строчек?? И в каждой из них нужно считывать по несколько переменных?
я бы сделал структуру, содержащую переменные, читал построчно файл и заполнял бы очередной элемент структуры данными из строки...
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
29.07.2010, 16:49  [ТС] #7
Lavroff, спасибо - теперь ясно...
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
29.07.2010, 17:53  [ТС] #8
И ещё вопрос.
А если встречается пустая строка то как её пропустить??
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,602
29.07.2010, 18:04 #9
Цитата Сообщение от AKE Посмотреть сообщение
А если встречается пустая строка то как её пропустить??
C++
1
2
3
4
5
6
7
8
9
...
std::ifstream ifs;
std::string buf;
while ( std::getline(ifs, buf) ){
    if ( buf.empty() || buf.find_first_not_of(" \t\n") == std::string::npos )
        continue;
    // обработать строку...
}
...
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
29.07.2010, 18:10  [ТС] #10
easybudda, Спасибо...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2010, 18:10
Привет! Вот еще темы с ответами:

Есть ли в С++ аналог JOptionPane.showMessageDialog java? - C++
Есть ли в С++ аналог JOptionPane.showMessageDialog java?

Есть ли аналог Dictionary<TKey, TValue> (C#) на С++ - C++
Привет всем хочу узнать есть ли аналог Dictionary&lt;TKey, TValue&gt; с C# на C++

Есть ли какой-нибудь аналог c# using или python with в c++ ? - C++
В C# (using pattern) и python есть специальные конструкции которые позволяют не следить за закрытием файла после окончания блока. using...

Есть ли аналог remove_if для соседних элементов? - C++
Задача такая. Пусть есть упорядоченный набор натуральных чисел. Пример: (15, 10, 3, 9, 7, 8, 2). Наборы элементов (15, 10) (10, 3) (3,...


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

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

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