PDA

View Full Version : مشکل ذخیره کردن اطلاعات در سی پلاس پلاس <ofstream>



Hamed_razor
شنبه 14 شهریور 1394, 20:58 عصر
من با کمک ofstream اطلاعات رو ذخیره میکنم ولی یک مشکلی که هست من بعد از این که دوباره میخوام اطلاعات جدید بریزم توی فابل میاد کل اطلاعات فایل رو پاک میکنه و بعد اطلاعات جدید رو میریزهمن میخوام هر بار که مثلا یک خط جدید وارد میکنم توی فایل بیاد آخرین خط نه این ....

mohammad0773
شنبه 14 شهریور 1394, 21:18 عصر
سلام.
اول یه تابع بنوییس تا بیاد محتوای قدیمی فایل مورد نظرو تو یه متغیر از توع رشته بریزه، وقتی میخوای رشته فعلی رو ذخیره کنی اول رشته ی حاوی اطلاعات قدیمی رو با استفاده از تابع strcat به اطلاعات جدید بچسبون و در پایان ذخیرش کن.

mohammad0773
شنبه 14 شهریور 1394, 21:20 عصر
البته برای لود کردن از قایل متنی باید از توع ifstream استفاده کنی.
اگه بلد نیستی بشنهاد میکنم یاد بگیری بعد بیا سراغش.

Nader G
شنبه 14 شهریور 1394, 21:45 عصر
1 (http://en.cppreference.com/w/cpp/io/basic_ofstream/basic_ofstream) و 2 (http://en.cppreference.com/w/cpp/io/basic_filebuf/open)

std::ofstream file(filename, std::ios::app);

Hamed_razor
شنبه 14 شهریور 1394, 22:45 عصر
خیلی ممنون
ولی من این راهی که شما گفتید رو میدونستم ولی گفتم شاید یک راه بهتری هم باشه برای این کار شاید من یجایی دارم اشتباه میکنم
ممنون

Mahdi13.ir
یک شنبه 15 شهریور 1394, 17:05 عصر
از زبان سی استفاده کن.

hamid_hr
یک شنبه 15 شهریور 1394, 19:08 عصر
فک کنم اینطوری بشه append کرد
std::ofstream log("logfile.txt", std::ios_base::app | std::ios_base::out);

log << "line\n";

Nader G
یک شنبه 15 شهریور 1394, 19:43 عصر
اضافه کردن ios_base::out برای ofstream لزومی نداره، همین طور ios_base::in برای ifstream.