Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
Yashman
1 / 3 / 4
Регистрация: 02.07.2011
Сообщений: 90
#1

Аналог функции fprintf в с++ - C++

29.08.2011, 17:16. Просмотров 1990. Ответов 9
Метки нет (Все метки)

Здравствуйте! Я долго искал в гугле аналог функции fprintf в с++, но так и не нашел и решил написать на форуме. Существует ли в с++ аналог функции fprintf ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2011, 17:16
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Аналог функции fprintf в с++ (C++):

Что значит "%d %d\n" в функции вывода в файл fprintf(f, "%d %d\n", i, j);
Что значит "%d %d\n" в функции вывода в файл fprintf(f, "%d %d\n", i, j); ...

fprintf
fprintf Вопрос - данная ф-ция перезаписывает весь файл? То есть сначала...

Аналог VB-функции Like
Есть ли в C++ аналог этой функции? Чтобы программа по заданному шаблону...

fwrite, fprintf
Подскажите, что указывается в скобках у этих функций? 1 параметр файл, а что...

fprintf scanf
Помогите с кодом Хочу сделать считывание с файла и вывод в файл output input...

Аналог функции fread С++
Проблема собственно вот в чем, У меня есть структура некой базы данных, и...

9
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
29.08.2011, 17:17 #2
std::ofstream
0
Yashman
1 / 3 / 4
Регистрация: 02.07.2011
Сообщений: 90
29.08.2011, 17:22  [ТС] #3
А нельзя ли короткую программку с содержанием этой функции для примера? Например пользователь вводит своё имя, а оно записывается в отдельный файл (например .txt)?
0
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
29.08.2011, 17:25 #4
То не функция, а класс. Привыкайте, с++ - гибридный язык и включает в себя ООП.
Пример(написан на коленках):
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <sstream>
#include <fstream>
int main()
{
   std::string name;
   std::cin >> name;
   std::ofstream out("file.txt");
   out << name;
}
Можно и сразу
C++
1
std::ofstream("output.txt") << name;
1
niXman
Эксперт С++
3202 / 1451 / 73
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.08.2011, 17:35 #5
в с++, единственный известный мне аналог printf`а - boost.format.
2
rangerx
1941 / 1550 / 478
Регистрация: 31.05.2009
Сообщений: 2,913
29.08.2011, 17:40 #6
Цитата Сообщение от diagon Посмотреть сообщение
Можно и сразу
Можно, но не нужно )) Попытка открытия файла может оказаться неудачной.
1
Yashman
1 / 3 / 4
Регистрация: 02.07.2011
Сообщений: 90
29.08.2011, 17:40  [ТС] #7
Огромное спасибо!!! А точно можно писать вместо
C++
1
2
std::ofstream out("file.txt");
   out << name;
просто
C++
1
std::ofstream("output.txt") << name;
? А то если я ввожу "Vasia", то в файле output.txt мне пишется 0x22ff20.

Видимо rangerx это и имел ввиду.
0
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
29.08.2011, 17:42 #8
Цитата Сообщение от Yashman Посмотреть сообщение
А то если я ввожу "Vasia", то в файле output.txt мне пишется 0x22ff20.
Это особенность VC, насколько я знаю. Во всяком случае gcc нормально работает.
rangerx имел в виду, что файл может не открыться.
0
Yashman
1 / 3 / 4
Регистрация: 02.07.2011
Сообщений: 90
29.08.2011, 18:16  [ТС] #9
У меня ту еще вопрос на засыпку появился: У меня есть программа из трех файлов (1 заголовочный и 2 .cpp). Оба файла .cpp должны осуществлять запись в файл, но если я в обоих вначале файла пишу
C++
1
ofstream out("file.txt");
то вылетает ошибка error LNK2005: "class std::basic_ofstream<char,struct std::char_traits<char> > out" (?out@@3V?$basic_ofstream@DU?$char_traits@D@std@@@std@@A) уже определен в file1.obj, а если только в main.cpp добавляю эту строку, тогда вылетает около 100 ошибок. Как разрешить проблему?
0
rangerx
1941 / 1550 / 478
Регистрация: 31.05.2009
Сообщений: 2,913
29.08.2011, 18:47 #10
Цитата Сообщение от Yashman Посмотреть сообщение
? А то если я ввожу "Vasia", то в файле output.txt мне пишется 0x22ff20.
Видимо rangerx это и имел ввиду.
Нет, я имел в виду то, что и написал diagon. А цифры выводит потому как для класса выходного потока определён такой метод(можно посмотреть здесь)
C++
1
ostream& operator<< (const void* val);
судя по всему переменная namе в твоём случае имеет тип const char*, что и приводит к вызову вышеуказанного метода. Т.е. происходит по сути следующее
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
class A
{
    public:
        A& operator<<(const void* val)
        {
            std::cout << val;
            return *this;
        }
};
 
int main()
{
    A() << "Vasia";
 
    return 0;
}
Цитата Сообщение от diagon Посмотреть сообщение
Во всяком случае gcc нормально работает.
Не работает
1
29.08.2011, 18:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2011, 18:47
Привет! Вот еще темы с решениями:

Аналог функции fscanf (C++)
Здравствуйте. По заданию нужно написать аналог функции fscanf на языке C++....

Аналог функции Beep
Всем ку! Совсем недавно начал изучать C++ и в частности воспроизведение звука....

аналог функции STRNCAT().
Написать и протестировать аналог функции STRNCAT(). #include &lt;stdio.h&gt;...

Аналог функции getch()
Подскажите пожалуйста, аналог функции getch() (из файла &quot;conio.h&quot;), но чтобы...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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