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

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

Войти
Регистрация
Восстановить пароль
 
TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
#1

Чтение из файла в аргумент - C++

03.02.2014, 19:38. Просмотров 278. Ответов 5
Метки нет (Все метки)

Читает из файла число, и передает в аргумент функции:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <fstream>
 
void foo(int arg) {
    std::cout << arg << std::endl;
}
 
int main() {
    std::fstream fs( "example.txt", std::fstream::in );
        int temp;
    fs >> temp;
    foo(temp);
    return 0;
}
example.txt:
Bash
1
123
Можно ли как-то читать число из файла напрямую в аргумент функции foo, не вводя вспомогательных функций, переменных, классов и т.д., а используя только стандартные функции при передаче аргумента в функцию? То-есть удалить строки
C++
1
2
    int temp;
    fs >> temp;
И читать напрямую внутри скобок в строке
C++
1
foo(temp);
?

Добавлено через 13 минут
Для однозначного(один символ) числа можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <fstream>
 
void foo(int arg) {
    std::cout << arg << std::endl;
}
 
int main() {
    std::fstream fs( "example.txt", std::fstream::in );
 
    foo( fs.get()-'0' );
 
    fs.close();
    return 0;
}
Как для многозначного?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2014, 19:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение из файла в аргумент (C++):

Название файла, как аргумент в командной строке - C++
Ребят, как задавать название файла как аргумент командной строки? допустим у меня есть файл qwer.cpp и я на данный момент могу его...

Переделать в коде чтение из файла в чтение с клавиатуры - C++
Переделайте что бы текст считывался с клавиатуры, а не с файла! Буду благодарен за помощь! //файл должен начинаться со слова, между...

Возможно ли использовать имя файла как аргумент main()? - C++
Хочу добиться разного поведения при разных именах exe'шника. Это возможно, не используя батник и стандартный ввод аргументов?

Как читать целые числа из файла в аргумент функции без временных переменных? - C++
Следующая программа читает первые 2 целых числа, записанные в файле file.txt и передает их как аргументы в функцию foo: #include...

Чтение из файла. Повторное чтение файла - C++
Добрый день. Необходимо реализовать в программе функцию повторного чтения данных из файла, в случае некорректного ввода их в оный. Вот...

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла. - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include &lt;cstdlib&gt; using namespace std; struct...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
jurok_85
241 / 224 / 77
Регистрация: 21.02.2013
Сообщений: 519
Завершенные тесты: 1
03.02.2014, 19:42 #2
можно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <fstream>
 
void foo(int arg) {
    std::cout << arg << std::endl;
}
 
int main() {
    std::ifstream fs( "example.txt");
        int temp;
    fs >> temp;
    foo(temp);
    return 0;
}
std::fstream fs( "example.txt", std::fstream::in ); вот с этой строкой у тебя нелады
TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
03.02.2014, 19:49  [ТС] #3
Вопрос заключается не в этом. Читайте внимательнее. Тот код работает.
jurok_85
241 / 224 / 77
Регистрация: 21.02.2013
Сообщений: 519
Завершенные тесты: 1
03.02.2014, 19:54 #4
ааааааааа не так понял
ну передать можно таким образом
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <fstream>
#include <cstdlib>
 
void foo(std::ifstream& arg)
{
    int temp;
   arg >> temp;
   std::cout << temp;
}
 
int main() {
    std::ifstream fs( "example.txt");
        int temp;
 
    foo(fs);
    return 0;
}
а вот как вывести без переменной
TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
03.02.2014, 20:00  [ТС] #5
Цитата Сообщение от jurok_85 Посмотреть сообщение
ну передать можно таким образом
все равно немного не то, что хотел, мне еще нужно чтобы функцию foo не менять при этом, вывод 1 символа без ввода дополнительной переменной однозначного числа(но как для многозначного, или для строки?):
C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <fstream>
 
int main() {
    std::ifstream fs("example.txt");
    std::cout << fs.get()-'0' << std::endl;
    return 0;
}
jurok_85
241 / 224 / 77
Регистрация: 21.02.2013
Сообщений: 519
Завершенные тесты: 1
04.02.2014, 02:56 #6
ну вот такой способ нашел:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <fstream>
 
void foo( std::ifstream& arg) {
   std::cout << arg.rdbuf();
 
}
 
int main() {
    std::ifstream fs( "example.txt");
 
    foo(fs);
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2014, 02:56
Привет! Вот еще темы с ответами:

Чтение нескольких структур и одной переменной из бинарного файла. Формат файла имеется - C++
Формат файла состоит из 3 структур и одной переменной. Подробное описание формата во вложении, просьба посмотреть его. У меня возникла...

как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла? - C++
Друзья! Создадим два текстовых файла, f_0.txt и f_1.txt и что-нибудь в них запизаем, например в первый запихаем 1234 а во второй 5678 и...

Чтение файла с несколькими знаками конца файла - C++
В файле несколько раз встречается ноль, и ни как не получается прочитать его полностью. Как можно решить данную проблему ?

Указатель на имя файла как аргумент функции. Как реализовать? - C++
Доброго времени суток всем! Прошу помощи! Написал программу, есть пару моментов, сложных для меня. Необходимо написать две функции, одну...


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

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

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