2013-09-21 1 views
1

Я хочу записать числа в файл .dat на C++. Я создаю функцию, она использует поток. Это верно?ofstream- Запись элемента в файл - C++

void writeValue(char* file, int value){ 
ofstream f; 
f.open(file); 
if (f.good()){ 
    f<<value; 
} 
f.close(); 
} 

Спасибо.

+6

Вы попробовали? Он работал так, как вы ожидали? –

ответ

2

Да, это правильно. Она также может быть упрощена, например:

#include<fstream> 
#include<string> 
using namespace std; 

void writeValue(const char* file, int value){ 
     ofstream f(file); 
     if (f) 
      f<<value; 
} 

int main() 
{ 
    string s = "text"; 
    writeValue(s.c_str(), 12); 
} 

Это может быть более удобным в C++, чтобы взять константный символ *, а затем символ *, потому что строка может быть легко преобразован в сопзЬ символ *.

+0

Большое спасибо, но когда я пишу новый номер, старое значение перезаписывается. Я хочу написать новое число в новой строке. Как мне это сделать? – Betelgeuse

+0

Открыть файл в режиме добавления 'ofstream f (файл, ios :: out | ios :: app)' и добавить 'endl' после записи каждого значения:' f << значение << endl; ' – cpp

+0

не работает. .. – Betelgeuse

Смежные вопросы