C/C++ файлтай ажиллах

Компьютер, програм хангамжийн чиглэлээр бие даалт, курсын ажил хийнэ. Үүнд: Алгоритм, С/С++, Pascal, Java, C#, MySQL, ASP.NET, Гар утасны програм    Програм зохиох явцад их хэмжээний өгөгдөлтэй ажиллах, тодорхой өгөгдлийг олон дахин ашиглах шаардлага олонтаа тохиолддог. Иймд тухайн өгөгдлийг файлд хадгалан ашиглах нь илүү тохиромжтой байдаг. Яагаад гэвэл компьютерийн санах ой(RAM)-н багтаамж мэдээллийг хадгалахад тийм ч хангалттай биш (сайн санах ойтой ч гэсэн компьютер гацаж удаан ажиллах г.м сөрөг үр дагавартай), мөн RAM-д хадгалагдсан мэдээлэл компьютерийг асаалттай байх үед л амьдрах боломжтой бөгөөд унтрахаар устчихна. Энэ мэтийн олон шаардлагын үүднээс мэдээллийг файл(диск)-д хадгалах шаардлага зайлшгүй гарч ирдэг.
1. C++
C++ хэлэнд файлд боловсруулалт хийх (файлаас унших, файл руу бичих) үйлдлүүдийг дараах ангиуд хангаж өгдөг. Үүнд:
1. ofstream: файл руу бичих урсгалын анги.
2. ifstream: файлаас унших урсгалын анги.
3. fstream: файлаас унших болох бичих урсгалын анги.
Файлыг нээх
Файлд боловсруулалт хийхээс өмнө уг файлыг нээх хэрэгтэй. Файлыг open() фунцээр нээдэг: open(filename, mode);
filename: файлын нэр болох тэмдэгтүүдийн дараалал.
mode: файлд ямар төрлийн боловсруулалт хийх гэж байгааг тодорхойлох утга.
Дараах утгуудыг авна:
- ios::in: файлыг уншихаар нээх
- ios::out: шинэ файл үүсгэж бичих
- ios::app: файлын өгөгдөл дээр нь нэмж бичих
Файлыг нээхдээ эдгээрийн нэг болон хэд хэдийг нь хослуулж хэрэглэж болно. Жишээлбэл,
fstream myFile;
myFile.open(“d:/file.txt”, ios::in);
эсвэл
myFile.open(“d:/file.txt”, ios::out | ios::app);
Файлыг хаах
Файлд боловсруулалт хийж дууссны дараа уг файлыг хаах хэрэгтэй. Хаахдаа close() функцийг ашигладаг: myFile.close();
Жишээ
//Файл үүсгэж бичих
#include
#include

int main () {
ofstream myfile;
myfile.open("example.txt", ios::out);
if (myfile.is_open())
{
myfile << "This is a line.\n"; myfile << "This is another line.\n"; myfile.close(); } else cout << "Unable to open file"; return 0; } //Файлаас унших #include
#include
#include
using namespace std;

int main () {
string line;
ifstream myfile ("example.txt");
if (myfile.is_open())
{
while ( myfile.good() )
{
getline (myfile,line);
cout << line << endl; } myfile.close(); } else cout << "Unable to open file"; return 0; } getline() функц нь мөр мөрөөр уншина. Cin-ийн нэгэн адил myFile>>variable; гэж бас уншиж болно.
 

2. C
Жишээгээр тайлбарлъя.
#include
#include
FILE * f; //Файл зарлах
int main() {
f = fopen("example.txt", "w"); //файл нээх
int n;
scanf("%d", &n);
fprintf(f, "%d\n", n); //файл руу бичих
fclose(f); //файлыг хаах
system("pause");
}

#include
#include
FILE * f; //Файл зарлах
int main() {
f = fopen("example.txt", "r"); //файл нээх
int n;
fscanf(f, "%d", &n); //Файлаас унших
printf("%d\n", n);
fclose(f); //Файлыг хаах
system("pause");
}

3 comments:

  1. The Lyford Cay Denomination serves as a community resource in favour of international and Bahamian families. Lyford Cay School offers a exorbitant law Nursery through Piercing Alma mater education. To the core a multi-cultural environment that promotes understanding amongst distinctive nationalities, students are provided with the opportunities and resources to appropriate for cross-cultural learners and front-office citizens. Lyford Cay Seminary is an undecided, non-denominational, hour school. The university is a non-profit-making thing governed near a Board of Directors.

    http://lyjehomexe.wordpress.com/
    http://emahycori.wordpress.com/
    http://katobuhoba.wordpress.com
    http://eratenojoj.wordpress.com/

    ReplyDelete
  2. The Lyford Cay School serves as a community resource as far as something international and Bahamian families. Lyford Cay Grammar offers a acme pattern Nursery past Treble Creed education. Through a multi-cultural circumstances that promotes reconciliation amongst diverse nationalities, students are provided with the opportunities and resources to ripen into cross-cultural learners and guilty citizens. Lyford Cay Clique is an independent, non-denominational, lifetime school. The school is a non-profit-making thing governed before a Meals of Directors.

    http://alulamyk.wordpress.com
    http://ineqadune.wordpress.com/
    http://ivimen.wordpress.com
    http://acixohotyp.wordpress.com

    ReplyDelete
  3. Hi, certain me on lisachu

    http://www.gameoverman.org/forum/profile.php?mode=viewprofile&u=5501 projects.eightron.net/hmi/forum/profile.php?mode=viewprofile&u=445

    ReplyDelete