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

Файловый ввод/вывод - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Трабл с "&&" http://www.cyberforum.ru/cpp-beginners/thread240379.html
#include<iostream> using namespace std; int main(){ int w,v,h,l,t; cin>>w>>v>>h>>l>>t; int x=h-w; if(x<0) x=x*(-1); int y=v*t;
C++ operator[] в классе Написал собственный класс, где хранит одномерный массив template <class TTT> public class List_TTT { public: TTT * data; int len; TTT& Get(int H) {return data;} // TTT& operator(int H) { return data; } http://www.cyberforum.ru/cpp-beginners/thread240376.html
C++ Реализовать класс Account
Помогите решить задачку: Реализовать класс Account, представляющий собой банковский счет. В классе долж- ны быть четыре поля: фамилия владельца, номер счета, процент начисления и сумма в рублях. Открытие нового счета выполняется операцией инициализации. Необходимо вы- полнять следующие операции: сменить владельца счета, снять некоторую сумму денег со счета, положить деньги на счет, начислить...
Простой вывод файла на экран C++
Не могу вывести содержимое файла на экран. Что я не так делаю? Вот код программы: #include <iostream> #include <fstream> #include <iomanip> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <locale.h>
C++ Строки, надо для зачета срочно http://www.cyberforum.ru/cpp-beginners/thread240346.html
Помогите написать код срочно надо для зачета. Часто встречающаяся ошибка начинающих наборщиков – дважды записанное слово. Обнаружить и исправить такие ошибки. Заранее спасибо.
C++ Написать программу помощи Здравствуйте , вот нужно зделать Программу Текст помощи для не которой программы организован в виде линейного списка Каждая компонента текста помощи содержит термин (слово) и текст,содержащий пояснение к этому термину.Количество строк текста,относящихся к одному термину,составляет от одной до пяти Написать программу,которая обеспечивает - начальное формирование текста помощи; - вывод... подробнее

Показать сообщение отдельно
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
09.02.2011, 18:24     Файловый ввод/вывод
Давайте определимся, что вы хотите: C или C++. fopen() - это функция C. Прототип выглядит так:

C
1
FILE * fopen ( const char * filename, const char * mode );
filename - имя файла
mode - режим. Выглядит как C-строка (массив char с нуль-терминатором в конце). Может иметь значения:
"r"Чтение. Файл должен существовать.
"w"Запись с перезаписью. Если файл не существует, он создаётся.
"a"Запись с дописыванием в конец. Если файл не существует, он создаётся.
"r+"Чтение-запись. Файл должен существовать.
"w+"Чтение-запись с перезаписью. Если файл не существует, он создаётся.
"a+"Чтение-запись с дописыванием в конец. Если файл не существует, он создаётся.

Чтение в стиле C:

C
1
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
Чтение из stream элементов данных в количестве не более nmemb (каждый размером в size байт) в область памяти, указанную ptr;

Запись в стиле C:

C
1
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
Запись в stream элементов данных в количестве nmemb (каждый размером в size байт) из области памяти, указанной ptr;

Обе функции возвращают количество записанных данных.

Вот пример программы (используя вызовы C):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <stdio.h>
 
void write( const char * fileName );
void read( const char * fileName );
 
int main()
{
    write( "test_file.txt" );
    read( "test_file.txt" );
 
    return 0;
}
 
void write( const char * fileName )
{
    const char * data = "Hello, world!"; //14 байт (учитывая 0x00 в конце)
    FILE * myFile = fopen( fileName, "w" );
 
    if( myFile == 0 )
    {
       printf( "Error opening %s for writing.\n", fileName );
       return;
    }
 
    int wrote = fwrite( data, sizeof(char), 14, myFile );
    printf( "Wrote %i bytes\n", wrote );
 
    fclose( myFile );
}
 
void read( const char * fileName )
{
    char data[255] = {0};
 
    FILE * myFile = fopen( fileName, "r" );
 
    if( myFile == 0 )
    {
       printf( "Error opening %s for reading.\n", fileName );
       return;
    }
 
    int read = fread( data, sizeof(char), 254, myFile );
    printf( "Read %i bytes:\n%s\n", read, data );
 
    fclose( myFile );
}
C-компилятор может не компилировать, я использовал C++-компиллер.

Но если вы хотите C++, используйте потоки файлового вывода-вывода (ifstream - ввод, ofstream - вывод, fstream - ввод и вывод). Подробнее тут: Чем отличается fstream от ofstream?

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