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

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

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

Здравствуйте! Я долго искал в гугле аналог функции fprintf в с++, но так и не нашел и решил написать на форуме. Существует ли в с++ аналог функции fprintf ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.08.2011, 17:16
Ответы с готовыми решениями:

Добавьте недостающий аргумент в вызов функции fprintf
Дан код: fp1=fopen(“data.txt”,”r”); fp2=fopen(“data.txt”,”w”); char ch; Добавьте недостающий...

Найти ошибку в функции fprintf. не могу разобраться с форматом double
есть структура: struct Abonent { char nomer; double ostatok; char tarif; }arr ; есть...

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

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

9
Higher
1944 / 1210 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
29.08.2011, 17:17 2
std::ofstream
0
1 / 3 / 4
Регистрация: 02.07.2011
Сообщений: 90
29.08.2011, 17:22  [ТС] 3
А нельзя ли короткую программку с содержанием этой функции для примера? Например пользователь вводит своё имя, а оно записывается в отдельный файл (например .txt)?
0
Higher
1944 / 1210 / 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
Эксперт С++
3210 / 1459 / 73
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.08.2011, 17:35 5
в с++, единственный известный мне аналог printf`а - boost.format.
2
1992 / 1592 / 488
Регистрация: 31.05.2009
Сообщений: 2,980
29.08.2011, 17:40 6
Цитата Сообщение от diagon Посмотреть сообщение
Можно и сразу
Можно, но не нужно )) Попытка открытия файла может оказаться неудачной.
1
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
Higher
1944 / 1210 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
29.08.2011, 17:42 8
Цитата Сообщение от Yashman Посмотреть сообщение
А то если я ввожу "Vasia", то в файле output.txt мне пишется 0x22ff20.
Это особенность VC, насколько я знаю. Во всяком случае gcc нормально работает.
rangerx имел в виду, что файл может не открыться.
0
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
1992 / 1592 / 488
Регистрация: 31.05.2009
Сообщений: 2,980
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2011, 18:47

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

fprintf scanf
Помогите с кодом Хочу сделать считывание с файла и вывод в файл output input #include &lt;stdio.h&gt;...

Модифицировать fprintf
Проблема вот такого рода, написал процедуру void WriteLog(const char *format, ...) { char dest;...

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


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

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

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