PDA

View Full Version : مبتدی: ذخيره و بازيابي اطلاعات در فايل



ucna_pc
پنج شنبه 17 فروردین 1391, 16:54 عصر
سلام و خسته نباشيد خدمت همه دوستان

راستش من يه برنامه نوشتم كه يك متن رو مي گيره و در يك فايل txt ذخيره مي كنه الان مي خوام همون اطلاعات ذخيره شده در فايل txt رو دوباره نمايش داده بشه چيكار بايد بكنم ؟


#include <iostream.h>
#include <fstream.h>
#include <conio.h>
int main()
{
ofstream file;
file.open("test.txt");
file<<"Save This In File ...";
getch();
return 0;
}

حامد مصافی
پنج شنبه 17 فروردین 1391, 17:59 عصر
به جای ofstream از ifstream (http://www.cplusplus.com/reference/iostream/ifstream/)استفاده کنید.
مثـــــــال (http://www.cplusplus.com/reference/iostream/ifstream/open/)

mjshaman
پنج شنبه 25 آبان 1391, 01:59 صبح
سلام خدمت همه ی عزیزان
من یه فایل متنی دارم که داخلش چندین سطر(تعداد معلوم) وجود داره و هر سطر دارای 2 عدد n رقمی و اعشاری هستش(n همیشه ثابت نیستش)
چطوری بخونمش و بریزمش توی یه متغییر اعشاری؟؟؟
نمونه فایل:

-4.19200000000000 15.6410000000000
-4.14800000000000 15.6440000000000
-4.10400000000000 15.6470000000000
-4.05900000000000 15.6500000000000
-4.01500000000000 15.6530000000000
-3.97000000000000 15.6560000000000
-3.92600000000000 15.6590000000000
-3.88200000000000 15.6620000000000
-3.83700000000000 15.6650000000000
-3.79300000000000 15.6680000000000
-3.74900000000000 15.6710000000000
-3.70400000000000 15.6740000000000
-3.66000000000000 15.6770000000000
-3.61600000000000 15.6800000000000
-3.57100000000000 15.6830000000000
-3.52700000000000 15.6860000000000
-3.48200000000000 15.6900000000000
-3.43800000000000 15.6930000000000
-3.39400000000000 15.6960000000000
-3.34900000000000 15.6990000000000
-3.30500000000000 15.7020000000000
-3.26100000000000 15.7050000000000

H_G_G_I
پنج شنبه 25 آبان 1391, 08:43 صبح
شما باید یه خط رو بخونی ! بعد دونه دونه بری جلو تا به اسپیس برسی ! از نقطه شروع تا اسپیس می شه عدد مورد نظر ! اونو گرفتی بعد نقطه شروع رو دوباره باید بکنی همون جایی که اسپیس رو گرفتی !
با atof)( می تونی char[] رو به float تبدیل کنی !

mjshaman
پنج شنبه 25 آبان 1391, 23:26 عصر
مرسی از راهنمایی کاملا مفیدتون
2 تا سوال دیگه(ببخشید زحمته)
1- با تابع بالایی که گفتید متن رو به اعشاری تبدیل میکنم اما عدد رو در حد یک صدهزارم کم میکنه، روشی برای گرد کردن این عددها به مثلا 4 رقم هستش؟
2- من قراره اطلاعات رو از 40 تا فایل متنی بخونم که همشون توی یه فولدر هستن و اسماشون هم از 0 تا 40 هستش، با توجه به اینکه آدرس فایل باید کانسترنت تعریف بشه میشه راهنماییم کنید که چطور میتونم همه فایلهارو با حلقه باز کنم و ازشون استفاده کنم؟

omidshaman
جمعه 26 آبان 1391, 15:16 عصر
یک روشش استفاده از spintf هست
برای مثال این برنامه 20 تا فایل txt درست می کنه

#include <iostream>
#include <fstream>

using namespace std;
int main()
{
char format[] = "file %d.txt";
char filename[sizeof format];
int i;
for(i=0;i<20;i++)
{
sprintf(filename,format,i);
ofstream file;
file.open(filename);
}
}



و درباره سوال 1 هم خوب می تونی تو این برنامه خاص وقتی که داری اینپوت رو دریافت می کنی به جای رسیدن به اسپیس وقتی که به اولین 0 رسیدی گرفتنو قطع کنی