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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
Yashman
 Аватар для Yashman
1 / 3 / 0
Регистрация: 02.07.2011
Сообщений: 90
29.08.2011, 17:16     Аналог функции fprintf в с++ #1
Здравствуйте! Я долго искал в гугле аналог функции fprintf в с++, но так и не нашел и решил написать на форуме. Существует ли в с++ аналог функции fprintf ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2011, 17:16     Аналог функции fprintf в с++
Посмотрите здесь:

аналог функции STRNCAT() C++
аналог функции STRNCAT(). C++
аналог функции STRNCAT(). C++
fprintf C++
C++ Аналог VB-функции Like
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
29.08.2011, 17:17     Аналог функции fprintf в с++ #2
std::ofstream
Yashman
 Аватар для Yashman
1 / 3 / 0
Регистрация: 02.07.2011
Сообщений: 90
29.08.2011, 17:22  [ТС]     Аналог функции fprintf в с++ #3
А нельзя ли короткую программку с содержанием этой функции для примера? Например пользователь вводит своё имя, а оно записывается в отдельный файл (например .txt)?
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
29.08.2011, 17:25     Аналог функции fprintf в с++ #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;
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.08.2011, 17:35     Аналог функции fprintf в с++ #5
в с++, единственный известный мне аналог printf`а - boost.format.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
29.08.2011, 17:40     Аналог функции fprintf в с++ #6
Цитата Сообщение от diagon Посмотреть сообщение
Можно и сразу
Можно, но не нужно )) Попытка открытия файла может оказаться неудачной.
Yashman
 Аватар для Yashman
1 / 3 / 0
Регистрация: 02.07.2011
Сообщений: 90
29.08.2011, 17:40  [ТС]     Аналог функции fprintf в с++ #7
Огромное спасибо!!! А точно можно писать вместо
C++
1
2
std::ofstream out("file.txt");
   out << name;
просто
C++
1
std::ofstream("output.txt") << name;
? А то если я ввожу "Vasia", то в файле output.txt мне пишется 0x22ff20.

Видимо rangerx это и имел ввиду.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
29.08.2011, 17:42     Аналог функции fprintf в с++ #8
Цитата Сообщение от Yashman Посмотреть сообщение
А то если я ввожу "Vasia", то в файле output.txt мне пишется 0x22ff20.
Это особенность VC, насколько я знаю. Во всяком случае gcc нормально работает.
rangerx имел в виду, что файл может не открыться.
Yashman
 Аватар для Yashman
1 / 3 / 0
Регистрация: 02.07.2011
Сообщений: 90
29.08.2011, 18:16  [ТС]     Аналог функции fprintf в с++ #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 ошибок. Как разрешить проблему?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2011, 18:47     Аналог функции fprintf в с++
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
29.08.2011, 18:47     Аналог функции fprintf в с++ #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 нормально работает.
Не работает
Yandex
Объявления
29.08.2011, 18:47     Аналог функции fprintf в с++
Ответ Создать тему
Опции темы

Текущее время: 00:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru