2013-09-21 49 views
1

我想用C++將數字寫入文件.dat。我創建了一個函數,它使用了流。這是正確的?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更方便++,採取爲const char *而不是字符*,因爲字符串可以很容易地轉化爲const char *。

+0

非常感謝,但是當我寫一個新號碼時,舊值被覆蓋。不穩定,我想寫一個新的行中的新號碼。我該怎麼做? – Betelgeuse

+0

以追加模式'ofstream f(file,ios :: out | ios :: app)打開文件'並在寫入每個值後添加'endl':'f << value << endl;' – cpp

+0

它不起作用。 .. – Betelgeuse

相關問題