ធ្វើការជាមួយឯកសារគោលពីរ
ព័ត៌មានទាំងអស់ត្រូវបានរក្សាទុកក្នុងកុំព្យូទ័រក្នុងទម្រង់ 0 និង 1 ពោលគឺក្នុងទម្រង់គោលពីរ។ ឯកសារគោលពីរខុសគ្នាពីឯកសារអត្ថបទតែនៅក្នុងវិធីសាស្រ្តនៃការធ្វើការជាមួយពួកគេ។ ឧទាហរណ៍ ប្រសិនបើយើងសរសេរលេខ “4” ទៅឯកសារអត្ថបទ នោះវាត្រូវបានសរសេរជាតួអក្សរ ហើយត្រូវការមួយបៃដើម្បីរក្សាទុកវា។ ដូច្នោះហើយ ទំហំឯកសារនឹងស្មើនឹងមួយបៃ។ ឯកសារអត្ថបទដែលមានធាតុ៖ "145687" នឹងមានទំហំប្រាំមួយបៃ។
ប្រសិនបើយើងសរសេរចំនួនគត់ 145,687 ទៅក្នុងឯកសារគោលពីរ វានឹងមានទំហំ 4 បៃ ដោយសារនោះជាចំនួនដែលត្រូវការដើម្បីរក្សាទុកទិន្នន័យ int ។ នោះគឺឯកសារគោលពីរមានលក្ខណៈតូចជាង ហើយក្នុងករណីខ្លះងាយស្រួលក្នុងការដំណើរការ។
ការសរសេរប្រភេទទិន្នន័យស្តង់ដារទៅឯកសារគោលពីរ
ដើម្បីបើកឯកសារគោលពីរ អ្នកត្រូវតែកំណត់របៀបចូលប្រើទៅ ios::binary (នៅក្នុងកម្មវិធីចងក្រង C++ មួយចំនួន ios::bin)។
ដើម្បីបង្កើតឯកសារលទ្ធផល បង្កើតវត្ថុមួយ៖
ofstream outBinFile("out.bin", ios::out | ios::binary);
/* ការបង្កើតវត្ថុថ្នាក់នៃចរន្ត ចេញ។ ធុង
ប្រសិនបើ (! out_f i 1) // ការត្រួតពិនិត្យស្តង់ដារ
ទិន្នន័យត្រូវបានសរសេរដោយប្រើវិធីសាស្ត្រ write() ដែលមានប៉ារ៉ាម៉ែត្រពីរ៖ ទីមួយគឺជាទ្រនិចទៅការចាប់ផ្តើម (អាសយដ្ឋានចាប់ផ្តើម) នៃទិន្នន័យដែលកំពុងត្រូវបានសរសេរ ទីពីរគឺជាចំនួនបៃដែលត្រូវសរសេរ។ ក្នុងករណីនេះ ទ្រនិចត្រូវតែត្រូវបានបំប្លែងយ៉ាងច្បាស់លាស់ទៅជាប្រភេទ char ។
ឧទាហរណ៍ ១.សរសេរអថេរនៃប្រភេទផ្សេងៗទៅក្នុងឯកសារគោលពីរ៖
ofstream outBinFile("test.bin", ios::out I
ios: : binary); /^ បង្កើតវត្ថុថ្នាក់នៃស្ទ្រីម ហើយព្យាយាមភ្ជាប់វាទៅឯកសារសាកល្បង។ ធុង នៅក្នុងរបៀបសរសេរឯកសារគោលពីរ */
int a - 145687; // សេចក្តីប្រកាសនៃអថេរទាំងមូលក
outBinFi le ។ សរសេរ ((char*) &a, sizeof (a)); /^ សរសេរទៅឯកសារ
អថេរក ជាស្ទ្រីមនៃបៃ ពោលគឺសរសេរទៅឯកសារតំណាងផ្ទៃក្នុងនៃអថេរទាំងមូល a */ float x - 123.25; // សេចក្តីប្រកាសនៃអថេរពិតប្រាកដ X
outBinFile .write ((char*) &x, sizeof (x)); /^ សរសេរទៅឯកសារ
អថេរ X ជាស្ទ្រីមនៃបៃ ពោលគឺសរសេរទៅឯកសារតំណាងផ្ទៃក្នុងនៃអថេរទាំងមូល x*/
// និយមន័យនៃអថេរនិមិត្តសញ្ញាជាមួយ ហើយចាប់ផ្តើមវាជាមួយនិមិត្តសញ្ញា g outBinFile.write((char*)&c, sizeof(c));
// កត់ត្រានិមិត្តសញ្ញា g ដើម្បីដាក់ឯកសារ
outBinFile.close(); ត្រឡប់ 0;
ប្រសិនបើអ្នកបើកមាតិកានៃឯកសារសាកល្បង .bin ដោយប្រើកម្មវិធីនិពន្ធអត្ថបទ វានឹងមើលទៅដូចនេះ៖
ហើយទំហំឯកសារនឹងមាន 9 បៃ។
ការអានប្រភេទទិន្នន័យស្តង់ដារពីឯកសារគោលពីរ
ដើម្បីបើកឯកសារគោលពីរដែលមានស្រាប់សម្រាប់ការអាន អ្នកត្រូវបង្កើតវត្ថុមួយ៖
ifstream inpBinFile("inp.bin", ios::in I ios::binary);
/* យើងប្រើការបំបែកទង់ដែលបង្ហាញថាឯកសារត្រូវបានបើកសម្រាប់អានក្នុងទម្រង់គោលពីរ */
ប្រសិនបើ (! inpBinFile)
cout ដើម្បីអានទិន្នន័យ យើងប្រើមុខងារ read() ដែលមានប៉ារ៉ាម៉ែត្រស្រដៀងនឹងមុខងារ write()។
#រួមបញ្ចូលការប្រើប្រាស់ namespace std; int main()
ifstream inpBinFile("test.bin", ios::in I
ios::binary); / / បើកឯកសារសម្រាប់អានជាទម្រង់គោលពីរ
int a; អណ្តែត x; char c = "g";
inpBinFile.read((char*)&a, sizeof(a));
// អានអថេរចំនួនគត់ inpBinFile.read((char*)&x, sizeof(x));
// អានអថេរពិតប្រាកដ inpBinFile.read((char*)&c, sizeof (c));
// អានអថេរនិមិត្តសញ្ញា
inpBinFile.close(); cout
លទ្ធផលនៃកម្មវិធី៖
a = 145687 x = 123.25 s = g
សូមចំណាំថាគ្មានការបំប្លែងព័ត៌មានកើតឡើងនៅពេលប្រើមុខងារសរសេរ និងអានទេ។ តំណាងខាងក្នុងនៃទិន្នន័យត្រូវបានសរសេរទៅ និងអានពីឯកសារ។ នោះហើយជាមូលហេតុដែលកម្មវិធីពីរមុនបានផ្តល់លទ្ធផលត្រឹមត្រូវ។
ការសរសេរ និងអានប្រភេទទិន្នន័យផ្ទាល់ខ្លួនទៅជាឯកសារគោលពីរ
មិនដូចឯកសារអត្ថបទ ការធ្វើការជាមួយប្រភេទទិន្នន័យផ្ទាល់ខ្លួនដោយប្រើឯកសារគោលពីរគឺមិនខុសពីប្រភេទទិន្នន័យស្តង់ដារទេ។ វិធីសាស្ត្រ write() និង read() ត្រូវបានប្រើស្រដៀងគ្នា។ អ្នកសរសេរកម្មវិធីគ្រាន់តែចង្អុលបង្ហាញអាសយដ្ឋាននៃផ្នែកអង្គចងចាំដែលត្រូវសរសេរ និងចំនួនបៃដែលត្រូវសរសេរ ដោយពិចារណាថាគ្មានការបំប្លែងទិន្នន័យកើតឡើងទេ មានតែតំណាងខាងក្នុងនៃព័ត៌មានប៉ុណ្ណោះដែលត្រូវបានសរសេរ និងអាន។
ដូចគ្នានេះផងដែរនៅពេលធ្វើការជាមួយឯកសារគោលពីរ វិធីសាស្ត្រ seekg(), tellg(), seekp(), tellp() អាចត្រូវបានប្រើ។
ឧទាហរណ៍ ៣.សរសេរកម្មវិធីដែលសរសេរព័ត៌មានអំពីក្រុមអ្នកទេសចរចូលទៅក្នុងឯកសារគោលពីរ។
fstream BinFile("ankety.bin", ios::in I ios::out | ios::binary);
អាន់កេតា គ្រុប = ; សម្រាប់ (int i = 0; i
BinFile.write((char*)&Gruppa[i], sizeof(Anketa)); BinFile.close(); ត្រឡប់ 0;
ឧទាហរណ៍ 4 ។ឯកសារ “ankety.bin” មានទិន្នន័យអំពីក្រុមអ្នកទេសចរ វាចាំបាច់ក្នុងការអានវា និងបង្ហាញវានៅលើអេក្រង់។
#រួមបញ្ចូលការប្រើប្រាស់ namespace std; រចនាសម្ព័ន្ធសំណួរ (
ឈ្មោះ char; អាយុ int;
ប្រភេទទិន្នន័យរចនាសម្ព័ន្ធកម្រងសំណួរ អេក្រង់*/
ostream & ប្រតិបត្តិករ
fstream BinFile("ankety.bin", ios::in | ios::out | ios::binary); ប្រសិនបើ (!BinFile)
សម្រាប់ (int i = 0; i
// អានភ្លាមៗរាល់បៃដែលកាន់កាប់ដោយអថេរប្រភេទ Anketa BinFile.read((char*)&Gruppa[i], sizeof(Anketa));
BinFile.close(); ត្រឡប់ 0;
លទ្ធផលនៃកម្មវិធី៖
Ivanov, 23 Sidorov, 21 Petrov, 22
ដើម្បីបន្ត សូមចុចគ្រាប់ចុចណាមួយ។ . .
បង្កើតថ្នាក់ផ្ទាល់ខ្លួនរបស់អ្នកសម្រាប់ធ្វើការជាមួយឯកសារ
វាមានការរអាក់រអួលក្នុងការប្រើវិធីសាស្ត្រ write() និង read() ជានិច្ច វាជាការរីករាយជាងក្នុងការប្រើប្រតិបត្តិការ ">" ដោយភាពស្រដៀងគ្នាជាមួយឯកសារអត្ថបទ។ ចូរយើងផ្តល់ឧទាហរណ៍នៃការអនុវត្តថ្នាក់របស់យើងសម្រាប់ធ្វើការជាមួយឯកសារគោលពីរ។
ដោយប្រើ namespace std;
រចនាសម្ព័ន្ធសំណួរ // ប្រកាសរចនាសម្ព័ន្ធសម្រាប់រក្សាទុកព័ត៌មាន
/* ផ្ទុកលើសទម្ងន់ប្រតិបត្តិការបញ្ចូលទៅក្នុងស្ទ្រីមសម្រាប់លទ្ធផលផ្ទាល់ខ្លួន
ប្រភេទទិន្នន័យរចនាសម្ព័ន្ធកម្រងសំណួរ អេក្រង់*/
ostream & ប្រតិបត្តិករ
class outBinaryFile: public នៃស្ទ្រីម /^ កំណត់ថ្នាក់របស់យើងសម្រាប់ធ្វើការជាមួយលទ្ធផលឯកសារគោលពីរ។ យើងទាញយកវាពីថ្នាក់សម្រាប់ធ្វើការជាមួយស្ទ្រីមឯកសារលទ្ធផល */
/* នៅពេលពិពណ៌នាអំពី constructor នៃថ្នាក់ដែលបានបង្កើត កុំភ្លេចហៅ constructor នៃ base class ដោយឆ្លងកាត់វានូវប៉ារ៉ាម៉ែត្រចាំបាច់*/
outBinaryFile(char* name) : ofstream(name, ios::out I ios::binary)
// លើសប្រតិបត្តិការចាំបាច់ជាវិធីសាស្ត្រថ្នាក់ outBinaryFile&ប្រតិបត្តិករ
សរសេរ((char*)&chislo, sizeof(chislo)); ត្រឡប់ * នេះ;
outBinaryFile&ប្រតិបត្តិករ
សរសេរ((char*)&ank, sizeof(ank)); ត្រឡប់ * នេះ;
class inpBinaryFile: public if stream /* យើងកំណត់ថ្នាក់របស់យើងសម្រាប់ធ្វើការជាមួយឯកសារគោលពីរបញ្ចូល។ យើងទាញយកវាពីថ្នាក់សម្រាប់ធ្វើការជាមួយស្ទ្រីមឯកសារបញ្ចូល */
inpBinaryFile(char* name): ifstream(name, ios::in I ios::binary)
/* ហៅអ្នកសាងសង់ថ្នាក់មូលដ្ឋានជាមួយនឹងប៉ារ៉ាម៉ែត្រចាំបាច់,
គ្រប់គ្រាន់សម្រាប់អ្នកសាងសង់នៃថ្នាក់ដែលបានទាញយក */
// លើសប្រតិបត្តិការចាំបាច់
inpBinaryFile& operator >> (int&number)
អាន((char*)&chislo, sizeof(chislo)); ត្រឡប់ * នេះ;
inpBinaryFile& operator >> (Anketa&ank)
អាន((char*)&ank, sizeof(ank)); ត្រឡប់ * នេះ;
int a = 111, b = 112; outBinaryFile outFile("dannye.bin");
// បើកឯកសារសម្រាប់ការអាន
inpBinaryFile inpFile("dannye.bin"); ប្រសិនបើ (!inpFile)
សម្រាប់ (int i = 0; i
inpFile >> a; // អានប្រវត្តិរូបពីឯកសារ
cout // ហើយបង្ហាញវានៅលើអេក្រង់
inpFile >> កម្រងសំណួរ; cout
លទ្ធផលនៃកម្មវិធី៖
Kolya, 1990, 582-78-95 ។
ដើម្បីបន្ត សូមចុចគ្រាប់ចុចណាមួយ។ . .
1. តើអាចប្រើប្រតិបត្តិការក្នុងកម្មវិធីបានទេ?
ios::in I ios::out
- ក) បាទ/ចាស ក្នុងករណីណាក៏ដោយ
- ខ) បាទ/ចាស ប៉ុន្តែនៅពេលធ្វើការជាមួយឯកសារអត្ថបទតែប៉ុណ្ណោះ។
- គ) ទេ ក្នុងករណីណាក៏ដោយ
- 2. បញ្ជាក់ជម្រើសត្រឹមត្រូវសម្រាប់ការបើកឯកសារអត្ថបទសម្រាប់អាន៖
- ក) ifstream inpF("input.txt", ios::in);
- ខ) ifstream inpF("input.txt", ios::input);
- គ) ifstream inpF(ios:in, "input.txt")។
H. តើអ្វីនឹងត្រូវបានបង្ហាញនៅលើអេក្រង់ជាលទ្ធផលនៃការប្រតិបត្តិកូដខាងក្រោម?
inputFile.get(c);
បន្ទាប់ - inputFile.peek();
ប្រសិនបើ (បន្ទាប់ == EOF)
- ក) មាតិកានៃឯកសារដែលភ្ជាប់ជាមួយស្ទ្រីម inputFile នឹងត្រូវបានបង្ហាញនៅលើអេក្រង់តែម្តង។
- ខ) មាតិកានៃឯកសារដែលភ្ជាប់ជាមួយស្ទ្រីម inputFile នឹងត្រូវបានបង្ហាញនៅលើអេក្រង់ចំនួនដងគ្មានកំណត់។
- គ) គ្មានអ្វីនឹងត្រូវបានបង្ហាញនៅលើអេក្រង់ទេ។
- 4. តើមានតួអក្សរប៉ុន្មាននៅក្នុងឯកសារ?
- 12 3 4 5 6
- ក) ៦;
- ខ) ៧;
- គ) ១១.
- 5. តើវិធីសាស្រ្តអ្វីខ្លះដែលអនុញ្ញាតឱ្យអ្នកកំណត់ចុងបញ្ចប់នៃឯកសារ?
- ក) អ៊ីហ្វ();
- ខ) ល្អ ();
- គ) វិធីសាស្រ្តទាំងពីរនេះ។
- 6. តើមុខងារ getline() មានគោលបំណងអ្វី?
- ក) អានពាក្យពីឯកសារមួយ;
- ខ) អានមាតិកាទាំងមូលនៃឯកសារ;
- គ) អានបន្ទាត់ពីឯកសារ។
- 7. ដើម្បីសរសេរ/អានប្រភេទទិន្នន័យផ្ទាល់ខ្លួនទៅកាន់ឯកសារ អ្នកត្រូវតែ៖
- ក) ដំណើរការលើសទម្ងន់ ">>" និង "
- ខ) ការសរសេរ និងការអានប្រភេទទិន្នន័យផ្ទាល់ខ្លួនគឺអាចរកបានដោយគ្មានសកម្មភាពបន្ថែម។
- គ) ការសរសេរ និងអានប្រភេទទិន្នន័យផ្ទាល់ខ្លួនទៅឯកសារគឺមិនអាចទៅរួចទេ។
- 8. តើមុខងារអ្វីខ្លះដែលត្រូវបានប្រើដើម្បីសរសេរ/អានព័ត៌មានក្នុងទម្រង់គោលពីរ?
- ក) printf / scanf;
- ខ) សរសេរ / អាន;
- គ) ដាក់ / ទទួល។
- 1. សរសេរកម្មវិធីដែលសរសេរអក្សរនៃអក្ខរក្រមអង់គ្លេសទៅជាឯកសារ។
- 2. ឯកសារ input.txt មានព័ត៌មានពីបន្ទាត់អត្ថបទជាច្រើន។ បង្ហាញមាតិកានៃឯកសារនេះនៅលើអេក្រង់ រាប់ចំនួនបន្ទាត់ក្នុងឯកសារ។
- 3. ថាសមានឯកសារ result.txt ជាមួយនឹងលទ្ធផលនៃការពិសោធន៍គីមី។ សរសេរកម្មវិធីដែលបង្កើតច្បាប់ចម្លងនៃឯកសារនេះដែលមានឈ្មោះថា copy_resylt.txt ។
- 4. បញ្ចូលឈ្មោះឯកសារដោយប្រើក្តារចុច។ លុបបន្ទាត់គូទាំងអស់នៅក្នុងឯកសារដែលបានបញ្ជាក់។
- 5. សរសេរកម្មវិធីដែលនៅក្នុងឯកសារអត្ថបទ ជំនួសអក្សរតូចទាំងអស់ដោយអក្សរធំ និងច្រាសមកវិញ។
- 6. ឯកសារអត្ថបទប្រភពមានលេខដែលបំបែកដោយដកឃ្លា។ បង្កើតឯកសារថ្មីពីរ៖ ទីមួយគួរតែមានលេខគូ ហើយទីពីរ - សេស។
- 7. ឯកសារមានលេខពិត។ សរសេរកម្មវិធីដែលបោះបង់ផ្នែកប្រភាគនៃលេខទាំងនេះ ហើយសរសេរវាទៅឯកសារថ្មី។
- 8. ឯកសារអត្ថបទមានព័ត៌មានអំពីជើងហោះហើររបស់ក្រុមហ៊ុនអាកាសចរណ៍។ ជ្រើសរើសជើងហោះហើរចេញដំណើរនៅពេលរសៀលពីទិន្នន័យនេះហើយបង្ហាញពួកវានៅលើអេក្រង់។
- 9. Overload the >> និង operators
- 10. សរសេរថ្នាក់ផ្ទាល់ខ្លួនរបស់អ្នកដើម្បីធ្វើការជាមួយឯកសារគោលពីរ។
- 11. សរសេរបញ្ជីសិស្ស 10 នាក់ក្នុងថ្នាក់ចូលទៅក្នុងឯកសារអត្ថបទ និងទៅក្នុងឯកសារគោលពីរ។ ប្រៀបធៀបឯកសារទាំងនេះ។ ពន្យល់ពីភាពខុសគ្នានៃលទ្ធផល។
- 12. បង្កើតថ្នាក់ដែលសរសេរព័ត៌មានអំពីរថយន្ត (ឆ្នាំផលិត ផលិត ពណ៌។ល។) ទៅជាឯកសារអត្ថបទ។ ក្នុងករណីនេះ និមិត្តសញ្ញាព័ត៌មាននីមួយៗត្រូវបានជំនួសដោយ ABO 1-code របស់វា។ បង្ហាញឯកសារលទ្ធផលនៅលើអេក្រង់។
សំណួរសុវត្ថិភាព
- 1. តើថ្នាក់អ្វីខ្លះដែលត្រូវបានប្រើដើម្បីធ្វើការជាមួយនឹងការស្ទ្រីមឯកសារ?
- 2. តើរបៀបចូលប្រើអ្វីខ្លះដែលអាចប្រើបាននៅពេលធ្វើការជាមួយឯកសារ? ផ្តល់ឧទាហរណ៍។
- 3. តើប្រើវិធីអ្វីដើម្បីបើកឯកសារ? ផ្តល់ឧទាហរណ៍។
- 4. តើមានប្រតិបត្តិការអ្វីខ្លះសម្រាប់ធ្វើការជាមួយឯកសារ? តើមុខងារអ្វីខ្លះត្រូវបានផ្តល់ជូនដើម្បីអនុវត្តប្រតិបត្តិការទាំងនេះ?
- 5. តើវិធីសាស្រ្តអ្វីខ្លះដែលអនុញ្ញាតឱ្យអ្នកកំណត់ចុងបញ្ចប់នៃឯកសារនៅពេលអានព័ត៌មានពីវា? តើអ្វីជាភាពខុសគ្នារវាងវិធីសាស្រ្តទាំងនេះ? ផ្តល់ឧទាហរណ៍។
- 6. តើអ្នកអាចអានអថេរនៃប្រភេទទិន្នន័យស្តង់ដារពីឯកសារអត្ថបទដោយរបៀបណា?
- 7. តើអាចអានអថេរប្រភេទទិន្នន័យផ្ទាល់ខ្លួនពីឯកសារអត្ថបទបានទេ?
- 8. តើមុខងារអ្វីខ្លះដែលត្រូវបានរចនាឡើងដើម្បីអានព័ត៌មានដោយចៃដន្យពីឯកសារ? ផ្តល់ឧទាហរណ៍។
- 9. ដាក់ឈ្មោះលក្ខណៈនៃឯកសារគោលពីរ។ តើអ្វីទៅជាអត្ថប្រយោជន៍នៃការប្រើឯកសារបែបនេះ?
- 10. តើមុខងារអ្វីខ្លះដែលអាចត្រូវបានប្រើដើម្បីសរសេរ/អានព័ត៌មានទៅក្នុងឯកសារគោលពីរ?
- 11. តើធ្វើដូចម្តេចដើម្បីអានអថេរនៃប្រភេទទិន្នន័យស្តង់ដារពីឯកសារគោលពីរ?
- 12. តើការពិចារណាអ្វីខ្លះដែលត្រូវយកមកពិចារណានៅពេលអានប្រភេទទិន្នន័យផ្ទាល់ខ្លួនពីឯកសារគោលពីរ?
- "Ivanov", 23), ("Sidorov", 21),
ឯកសារគោលពីរគឺជាឯកសារណាមួយនៅលើកុំព្យូទ័ររបស់អ្នក។ ព័ត៌មានទាំងអស់នៅលើកុំព្យូទ័រ និងប្រព័ន្ធផ្សព្វផ្សាយដែលពាក់ព័ន្ធត្រូវបានកត់ត្រាជាប៊ីត (ហេតុនេះឈ្មោះ)។ ទោះយ៉ាងណាក៏ដោយ សម្រាប់ការប្រៀបធៀប ឯកសារអត្ថបទអាចត្រូវបានអាននៅក្នុងអ្នកអានដែលត្រូវនឹងផ្នែកបន្ថែម (ឯកសារសាមញ្ញបំផុត - សូម្បីតែនៅក្នុង Notepad) ប៉ុន្តែឯកសារដែលអាចប្រតិបត្តិបានមិនអាច។ ហើយទោះបីជាការពិតឯកសារ txt គឺជាឯកសារគោលពីរដូចគ្នាក៏ដោយ នៅពេលដែលពួកគេនិយាយអំពីបញ្ហានៃការបើកមាតិកានៃឯកសារគោលពីរ ពួកគេមានន័យថាឯកសារដែលអាចប្រតិបត្តិបាន ក៏ដូចជាទិន្នន័យដែលបានបង្ហាប់ផងដែរ។
អ្នកនឹងត្រូវការ
- - កម្មវិធីកែសម្រួល Hex ។
សេចក្តីណែនាំ
ការពិពណ៌នា និងតំណាងផ្ទៃក្នុងនៃឯកសារ
ឯកសារគឺខុសគ្នាពីគ្នាទៅវិញទៅមក។ ឯកសារទាំងអស់ដែលផ្ទុកនៅលើកុំព្យូទ័រមានគុណលក្ខណៈពិសេស i.e. វិធីសាស្រ្តពិពណ៌នាពិសេសដែលអនុញ្ញាតឱ្យអ្នកបែងចែកឯកសារមួយពីឯកសារមួយផ្សេងទៀត: 1) ឈ្មោះ; 2) ទំហំ; 3) កាលបរិច្ឆេទនិងពេលវេលា; 4) រូបតំណាង។
ឯកសារនីមួយៗមានឈ្មោះ - ឈ្មោះឯកសារ។ ឈ្មោះឯកសារពិពណ៌នាអំពីខ្លឹមសាររបស់វា ឬណែនាំអំពីអ្វីដែលវាអាចប្រើបាន។ ឈ្មោះត្រូវបានកំណត់ទៅឯកសារនៅពេលវាត្រូវបានបង្កើត។ នេះអនុវត្តចំពោះឯកសារទាំងអស់។
ឯកសារនីមួយៗមានទំហំរូបវន្ត។ ឯកសារយកអង្គចងចាំកុំព្យូទ័រ និងទំហំថាសខ្លះ។
នៅពេលដែលឯកសារត្រូវបានបង្កើត ប្រព័ន្ធប្រតិបត្តិការដាក់ត្រានៅលើវាដែលបង្ហាញពីកាលបរិច្ឆេទ និងពេលវេលានៃការបង្កើត។ នេះអនុញ្ញាតឱ្យអ្នកតម្រៀបឯកសារតាមកាលបរិច្ឆេទ និងពេលវេលា ហើយនាំឱ្យកុំព្យូទ័ររបស់អ្នកមានសណ្តាប់ធ្នាប់។ កាលបរិច្ឆេទ និងពេលវេលាដែលឯកសារត្រូវបានធ្វើបច្ចុប្បន្នភាព ឬកែប្រែក៏ត្រូវបានកត់សម្គាល់ផងដែរ។
ឯកសារនីមួយៗគឺជាប្រភេទជាក់លាក់ ដែលទាក់ទងយ៉ាងជិតស្និទ្ធទៅនឹងរូបតំណាងឯកសារដែលយើងឃើញ។ ប្រភេទឯកសារអាស្រ័យលើខ្លឹមសាររបស់វា។ កម្មវិធីនីមួយៗកំណត់ប្រភេទជាក់លាក់មួយ និងរូបតំណាងដែលត្រូវគ្នាទៅនឹងឯកសារដែលបានបង្កើត។
ទំហំឯកសារត្រូវបានវាស់ជាបៃ ដូចទៅនឹងទំហំអង្គចងចាំដែរ។
ទំហំឯកសារអាចជា 0 បៃ ដែលមានន័យថាឯកសារមាន ប៉ុន្តែមិនមានអ្វីទាំងអស់។ S ទំហំឯកសារអតិបរមាគឺ 4 GB ។ ប៉ុន្តែឯកសារដ៏ធំបែបនេះកម្រមានណាស់។
ជាពិសេស នាឡិកាដែលភ្ជាប់មកជាមួយកុំព្យូទ័រគឺត្រូវការជាចាំបាច់ ដើម្បីកំណត់ពេលវេលា និងកាលបរិច្ឆេទនៃការបង្កើតឯកសាររបស់ពួកគេ។ នេះពន្យល់ថាតើវាមានសារៈសំខាន់យ៉ាងណាក្នុងការកំណត់នាឡិកានេះឱ្យបានត្រឹមត្រូវ។ វាក៏មានគុណលក្ខណៈបន្ថែមដើម្បីពណ៌នាអំពីឯកសារដូចជា ឯកសារប្រព័ន្ធ ឯកសារលាក់ ឯកសារបានតែអាន ឯកសារបណ្ណសារ។ល។ ប្រព័ន្ធប្រតិបត្តិការនឹងដោះស្រាយរឿងនេះដោយខ្លួនឯង។
ឯកសារនីមួយៗមានលិបិក្រមតែមួយគត់។ លិបិក្រមមានព័ត៌មានដែលត្រូវការដោយដំណើរការណាមួយដើម្បីចូលប្រើឯកសារ។ ដំណើរការចូលដំណើរការឯកសារដោយប្រើសំណុំនៃការហៅប្រព័ន្ធដែលបានកំណត់យ៉ាងល្អ និងកំណត់អត្តសញ្ញាណឯកសារជាមួយនឹងខ្សែអក្សរដែលដើរតួជាឈ្មោះឯកសារដែលមានលក្ខណៈសម្បត្តិគ្រប់គ្រាន់។ ឈ្មោះសមាសធាតុនីមួយៗកំណត់អត្តសញ្ញាណឯកសារដោយឡែក ដែលបណ្តាលឱ្យខឺណែលបំប្លែងឈ្មោះទៅជាលិបិក្រមឯកសារ។ សន្ទស្សន៍រួមបញ្ចូលតារាងអាសយដ្ឋានដែលព័ត៌មានឯកសារមានទីតាំងនៅលើថាស។ ដោយសារប្លុកនីមួយៗនៅលើថាសត្រូវបានដោះស្រាយដោយលេខរបស់វា តារាងនេះរក្សាទុកបណ្តុំនៃលេខប្លុកថាស។ ដើម្បីបង្កើនភាពបត់បែន ខឺណែលបន្ថែមឯកសារមួយប្លុកក្នុងពេលតែមួយ ដែលអនុញ្ញាតឱ្យព័ត៌មានរបស់ឯកសារត្រូវបានខ្ចាត់ខ្ចាយពេញប្រព័ន្ធឯកសារ។ ប៉ុន្តែប្លង់នេះធ្វើឱ្យស្មុគស្មាញដល់កិច្ចការស្វែងរកទិន្នន័យ។ តារាងអាសយដ្ឋានមានបញ្ជីលេខប្លុកដែលមានព័ត៌មានជាកម្មសិទ្ធិរបស់ឯកសារ ប៉ុន្តែការគណនាសាមញ្ញបង្ហាញថាបញ្ជីលីនេអ៊ែរនៃប្លុកឯកសារនៅក្នុងលិបិក្រមគឺពិបាកក្នុងការគ្រប់គ្រង។ ដើម្បីធានាថារចនាសម្ព័ន្ធលិបិក្រមតូចអនុញ្ញាតឱ្យធ្វើការជាមួយឯកសារធំ តារាងនៃអាសយដ្ឋានប្លុកថាសត្រូវបាននាំមកស្របជាមួយនឹងរចនាសម្ព័ន្ធ។
អត្ថបទ និងឯកសារគោលពីរ
ឯកសារអនុញ្ញាតឱ្យអ្នកប្រើអានទិន្នន័យយ៉ាងច្រើនដោយផ្ទាល់ពីថាសដោយមិនចាំបាច់បញ្ចូលវាពីក្តារចុច។ មានឯកសារពីរប្រភេទសំខាន់ៗ៖ អត្ថបទ និងគោលពីរ។
អត្ថបទឯកសារដែលមានតួអក្សរណាមួយត្រូវបានហៅ។ ពួកគេត្រូវបានរៀបចំជាជួរ ដោយនីមួយៗបញ្ចប់ដោយ " ចុងបញ្ចប់នៃបន្ទាត់". ចុងបញ្ចប់នៃឯកសារខ្លួនវាត្រូវបានចង្អុលបង្ហាញដោយនិមិត្តសញ្ញា " ចុងបញ្ចប់នៃឯកសារ". នៅពេលសរសេរព័ត៌មានទៅឯកសារអត្ថបទ ដែលអាចមើលបានដោយប្រើកម្មវិធីនិពន្ធអត្ថបទ ទិន្នន័យទាំងអស់ត្រូវបានបំប្លែងទៅជាប្រភេទតួអក្សរ ហើយរក្សាទុកក្នុងទម្រង់តួអក្សរ។
នៅក្នុងប្រព័ន្ធគោលពីរ Xឯកសារព័ត៌មានត្រូវបានអាន និងសរសេរជាទម្រង់ប្លុកនៃទំហំជាក់លាក់មួយ ដែលទិន្នន័យនៃប្រភេទ និងរចនាសម្ព័ន្ធណាមួយអាចត្រូវបានរក្សាទុក។
ដើម្បីធ្វើការជាមួយឯកសារ ប្រភេទទិន្នន័យពិសេសហៅថា ស្ទ្រីម។ស្ទ្រីម ifstream ត្រូវបានប្រើដើម្បីធ្វើការជាមួយឯកសារក្នុងរបៀបអាន ហើយ ifstream ត្រូវបានប្រើក្នុងរបៀបសរសេរ។ ដើម្បីធ្វើការជាមួយឯកសារទាំងក្នុងរបៀបសរសេរ និងអាន ស្ទ្រីម ifstream ត្រូវបានប្រើ។
នៅក្នុងកម្មវិធី C++ នៅពេលធ្វើការជាមួយឯកសារអត្ថបទ អ្នកត្រូវតែបញ្ចូលបណ្ណាល័យ ifstream និង iostream ។
ដើម្បីសរសេរទិន្នន័យទៅឯកសារអត្ថបទ អ្នកត្រូវតែ៖ 1) ពិពណ៌នាអំពីអថេរប្រភេទ នៃចរន្ត បើក; 3) បញ្ជូនព័ត៌មានទៅឯកសារ; 4) ត្រូវប្រាកដថាបិទឯកសារ។
ដើម្បីអានទិន្នន័យពីឯកសារអត្ថបទ អ្នកត្រូវតែ៖
1) ពិពណ៌នាអំពីអថេរប្រភេទ ifstream; 2) បើកឯកសារដោយប្រើមុខងារ បើក; 3) អានព័ត៌មានពីឯកសារមួយ នៅពេលអានបំណែកនីមួយៗ ចាំបាច់ត្រូវពិនិត្យមើលថាតើឯកសារនោះបានដល់ទីបញ្ចប់ហើយឬនៅ? 4) បិទឯកសារ។
វាគួរតែត្រូវបានកត់សម្គាល់ថានៅក្នុងឧទាហរណ៍ទាំងអស់ដែលបានពិភាក្សាខាងលើមុខងារ fopen () នៅក្នុងរបៀប "r" និង "w" បើកឯកសារអត្ថបទសម្រាប់ការអាននិងសរសេររៀងគ្នា។ នេះមានន័យថាតួអក្សរធ្វើទ្រង់ទ្រាយអត្ថបទមួយចំនួន ដូចជាការបញ្ជូនត្រឡប់ '\r' មិនអាចអានជាតួអក្សរដាច់ដោយឡែកបានទេ ពួកវាប្រហែលជាមិនមាននៅក្នុងឯកសារទេ ប៉ុន្តែពួកវានៅទីនោះ។ នេះគឺជាមុខងារនៃទម្រង់អត្ថបទរបស់ឯកសារ។ សម្រាប់ការងារ "ល្អ" បន្ថែមទៀតជាមួយមាតិកាឯកសារ មានរបៀបប្រព័ន្ធគោលពីរដែលតំណាងឱ្យមាតិកាឯកសារជាលំដាប់នៃបៃ ដែលកូដបញ្ជាដែលអាចធ្វើបានទាំងអស់គ្រាន់តែជាលេខប៉ុណ្ណោះ។ វាស្ថិតនៅក្នុងរបៀបនេះ ដែលវាអាចធ្វើទៅបានដើម្បីលុប ឬបន្ថែមតួអក្សរវត្ថុបញ្ជាដែលមិនមាននៅក្នុងរបៀបអត្ថបទ។ ដើម្បីបើកឯកសារក្នុងរបៀបគោលពីរ មុខងារ fopen() ក៏ត្រូវបានប្រើជាមួយប៉ារ៉ាម៉ែត្រចុងក្រោយដែលស្មើនឹង "rb" និង "wb" រៀងគ្នាសម្រាប់ការអាន និងសរសេរ។
ឯកសារ។ លើសពីនេះទៅទៀត តាមទស្សនៈនៃការអនុវត្តបច្ចេកទេសនៅកម្រិតផ្នែករឹង ឯកសារអត្ថបទគឺជាករណីពិសេសនៃឯកសារគោលពីរ ហើយដូច្នេះក្នុងន័យទូលំទូលាយនៃពាក្យ ឯកសារណាមួយសមនឹងនិយមន័យនៃ "ឯកសារគោលពីរ" ។
ជាទូទៅ ពាក្យនេះតំណាងឱ្យរង្វាស់នៃទំនាក់ទំនងរវាងអ្នកប្រើប្រាស់ឯកសារគោលពីរ និងឯកសារខ្លួនឯង។ ប្រសិនបើអ្នកប្រើប្រាស់ដឹងពីរចនាសម្ព័ន្ធ និងច្បាប់ដែលគាត់អាចបំប្លែងឯកសារដែលបានផ្តល់ឱ្យទៅជាកម្រិតខ្ពស់ នោះវាមិនមែនជាគោលពីរសម្រាប់គាត់ទេ។ ឧទាហរណ៍ ឯកសារដែលអាចប្រតិបត្តិបានគឺជាប្រព័ន្ធគោលពីរសម្រាប់អ្នកប្រើប្រាស់កុំព្យូទ័រ ប៉ុន្តែមិនមែនជាប្រព័ន្ធគោលពីរសម្រាប់ប្រព័ន្ធប្រតិបត្តិការនោះទេ។ [ ]
ការមើលឃើញ
ដើម្បីតំណាងឱ្យឯកសារគោលពីរដោយមើលឃើញ វាត្រូវបានបែងចែកទៅជាបំណែកដែលមានទំហំស្មើគ្នា តំណាងជាលេខ ជាធម្មតាត្រូវបានសរសេរជាលេខគោលដប់ប្រាំមួយ ជួនកាលជាលេខគោលប្រាំបី គោលពីរ ឬទសភាគ។ ទំហំកំណាត់ដែលបានចង្អុលបង្ហាញអាចស្មើនឹងមួយ octet ក៏ដូចជាពីរ ឬបួន (ក្នុងករណីដែលបំបែកទៅជាកំណាត់នៃ octet ជាច្រើន លំដាប់បៃដែលបានអនុម័តនៅលើវេទិកាដែលបានប្រើគឺត្រូវបានប្រើប្រាស់) ។ ភាពអាស្រ័យនៃជួរនៃលេខតំណាងលើទំហំនៃដុំត្រូវបានបង្ហាញក្នុងតារាង៖
octets | ចំនួនប៊ីត | លេខគោលដប់ប្រាំមួយ។ | ប្រាំបី | ទសភាគ មិនបានចុះហត្ថលេខា |
ទសភាគ រូបតំណាង |
---|---|---|---|---|---|
1 | 8 | 00 … អេហ្វ |
000 … 377 |
0 … 255 |
-128 … 127 |
2 | 16 | 0000 … FFFF |
000000 … 177777 |
0 … 65535 |
-32768 … 32767 |
4 | 32 | 00000000 … FFFFFFFF |
00000000000 … 37777777777 |
0 … 4294967295 |
-2147483648 … 2147483647 |
ជាញឹកញាប់ បន្ថែមពីលើតម្លៃបៃជាលេខ តួអក្សរទំព័រកូដ ដូចជា ASCII ក៏ជាលទ្ធផលផងដែរ។ ឧទាហរណ៍ខាងក្រោមបង្ហាញពីអ្វីដែលគេហៅថា។ ការចាក់សំរាមបុរាណ(តំណាងលេខគោលដប់ប្រាំមួយ octet-by-octet នៃ 16 បៃក្នុងមួយជួរ ជាមួយនឹងតួអក្សរ ASCII ដែលអាចបោះពុម្ពបាននៅខាងស្តាំ) នៃការចាប់ផ្តើមនៃឯកសារ PNG និមិត្តសញ្ញា Wikipedia៖
00000000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 |.PNG........IHDR| 00000010 00 00 00 87 00 00 00 a0 08 03 00 00 00 11 90 8f |............| 00000020 b6 00 00 00 04 67 41 4d 41 00 00 d6 d8 d4 4f 58 |.....gAMA.....OX| 00000030 32 00 00 00 19 74 45 58 74 53 6f 66 74 77 61 72 |2....tEXtSoftwar| 00000040 65 00 41 64 6f 62 65 20 49 6d 61 67 65 52 65 61 |e.Adobe ImageRea| 00000050 64 79 71 c9 65 3c 00 00 03 00 50 4c 54 45 22 22 |dyq.e<....PLTE""| 00000060 22 56 56 56 47 47 47 33 33 33 30 30 30 42 42 42 |"VVVGGG333000BBB| 00000070 4b 4b 4b 40 40 40 15 15 15 4f 4f 4f 2c 2c 2c 3c |KKK@@@...OOO,<| 00000080 3c 3c 3e 3e 3e 3a 39 39 04 04 04 1d 1d 1d 35 35 |<<>>>:99......55| 00000090 35 51 50 50 37 37 37 11 11 11 25 25 25 0d 0d 0d |5QPP777...%%%...| 000000a0 27 27 27 1a 1a 1a 38 38 38 2a 2a 2a 08 08 08 20 |""""...888**... | 000000b0 20 20 17 17 bb 8 3e 817 bb8 . ............|
ឧបករណ៍
សម្រាប់ការមើលឃើញ
- បំបាត់កំហុស (នៅលើ Microsoft Windows ដោយផ្នែក)
- hexdump (នៅលើ FreeBSD, GNU/Linux ។ល។)
សម្រាប់ការកែសម្រួល
- កម្មវិធីនិពន្ធ HEX
- beye (សម្រាប់ប្រព័ន្ធប្រតិបត្តិការទាំងអស់ កម្មវិធីឥតគិតថ្លៃ)
- hiew (សម្រាប់ DOS, Microsoft Windows, Windows NT)
- WinHex (សម្រាប់ Windows)
អ្នកប្រហែលជាបានឆ្លងកាត់ពាក្យ "អត្ថបទ" និង "ប្រព័ន្ធគោលពីរ" រួចហើយ ខណៈពេលដែលកំពុងអានអត្ថបទមួយចំនួនអំពី . ហើយពួកគេបានសម្រេចចិត្តថារឿងទាំងអស់នេះគឺស្មុគស្មាញពេកសម្រាប់អ្នក ដែលមិនអាចដោះស្រាយវាចេញបាន ដូច្នេះហើយពួកគេមិនបានស្វែងយល់ពីវាឡើយ ដោយបោះបង់វាចោល។
យើងនឹងព្យាយាមពន្យល់គ្រប់យ៉ាងដោយពាក្យសាមញ្ញបំផុត ព្រោះព័ត៌មានបែបនេះមានប្រយោជន៍សម្រាប់អ្នកប្រើប្រាស់គ្រប់រូប សូម្បីតែអ្នកដែលគ្មានបទពិសោធន៍បំផុតក៏ដោយ ព្រោះវាទាក់ទងដោយផ្ទាល់ទៅនឹងមូលដ្ឋានគ្រឹះនៃសុវត្ថិភាពកុំព្យូទ័រ។
ទ្រឹស្តីតិចតួច
ឯកសារអត្ថបទមានតួអក្សរ ASCII (អក្សរកាត់តំណាងឱ្យកូដស្តង់ដារអាមេរិកសម្រាប់ការផ្លាស់ប្តូរព័ត៌មាន អ្វីមួយដូចជា "កូដស្តង់ដារអាមេរិកសម្រាប់ការផ្លាស់ប្តូរព័ត៌មាន") ។
តាមពិត ASCII គឺជាតារាងដែលអក្សរនីមួយៗ លេខ សញ្ញាវណ្ណយុត្តិ និង "ឆ្កែ" ផ្សេងៗដែលមាន "ផ្កាព្រិល" (ក្នុងន័យ @ និង *) ត្រូវបានបែងចែកមួយបៃ។ នោះគឺសូន្យប្រាំបី និងមួយ (ប៊ីត)។ លើសពីនេះ ពិតណាស់ គ្រប់គ្រងតួអក្សរដូចជាបន្ទាត់ថ្មី។
កម្មវិធីសម្រាប់បើកឯកសារដែលមានតួអក្សរ ASCII បំប្លែងបៃទៅជាអក្សរ លេខ និងតួអក្សរដែលអាចបោះពុម្ពបានផ្សេងទៀតនៅលើអេក្រង់។ ជាការពិតណាស់ កម្មវិធីត្រូវតែយល់ថាផ្នែកនៃតារាងដែលត្រូវគ្នានឹងភាសារុស្សី ប៉ុន្តែនេះគឺជាបញ្ហានៃការអ៊ិនកូដរួចហើយ។
នៅក្នុងឯកសារគោលពីរ លេខសូន្យ និងមួយត្រូវបានរៀបចំតាមលំដាប់លំដោយដែលមិនចាំបាច់ដើម្បីបង្ហាញអត្ថបទ (ទោះបីជាមានមួយចំនួនឧទាហរណ៍ *doc)។ ហេតុអ្វីបានជាអ្នកសួរ។ ចម្លើយគឺសាមញ្ញ៖ សម្រាប់អ្វីៗផ្សេងទៀត។ កម្មវិធី ភាពយន្ត តន្ត្រី រូបភាព - ទ្រង់ទ្រាយនីមួយៗមានគោលការណ៍រចនាសម្ព័ន្ធផ្ទាល់ខ្លួនសម្រាប់រៀបចំទិន្នន័យ។
ពាក្យ "គោលពីរ" ខ្លួនវាមានន័យថា "មានធាតុផ្សំពីរ" "ទ្វេ" ។ ជាការពិត វាអាចកំណត់យ៉ាងច្បាស់តែពីរសមាសភាគ - សូន្យ និងមួយ ប៊ីត "ឥដ្ឋ" ដែលឯកសារត្រូវបានផ្សំ។ អត្ថន័យនៃអ្វីៗផ្សេងទៀតអាចបង្ហាញបានតែក្នុងអំឡុងពេលចាប់ផ្តើម (បើក ចាក់សារឡើងវិញ)។
ផ្នែកខុសនៃពិភពឌីជីថល
អ្នកអាចមើលខាងក្នុងឯកសារគោលពីរដោយប្រើកម្មវិធីពិសេស - កម្មវិធីនិពន្ធ HEX ។ (ពីពាក្យ Hexadecimal តំណាងឱ្យប្រព័ន្ធលេខគោលដប់ប្រាំមួយ) កម្មវិធីបែបនេះបង្ហាញបៃក្នុងទម្រង់នៃការរចនា HEX របស់ពួកគេ ដែលតាមពិតវាមានទីតាំងនៅក្នុងទម្រង់តារាង (ម៉ាទ្រីស) ផងដែរ។
ឧទាហរណ៍ បៃនៃរូបភាពក្នុងទម្រង់ JPEG ដែលជារូបភាពធម្មតា ឬរូបថតនឹងត្រូវបានបង្ហាញនៅក្នុងបង្អួចកម្មវិធីនិពន្ធដូចជា FF D8 FF 00 04 3A 29 និងបន្តបន្ទាប់ទៀត។
អ្នកឯកទេសនឹងយល់ថាលំដាប់នៃបៃ FF D8 នៅដើមដំបូងបង្ហាញថានេះគឺជា JPEG ។ ប៉ុន្តែទាំងអស់នេះមិនគួរឱ្យចាប់អារម្មណ៍ខ្លាំងចំពោះអ្នកមិនមែនជាអ្នកឯកទេសទេ។
អ្នកក៏អាចបើកឯកសារអត្ថបទនៅក្នុងកម្មវិធីនិពន្ធ HEX ដើម្បីមើលថាតើបៃមួយណាដែលត្រូវនឹងអក្សរជាក់លាក់ (តួអក្សរ ASCII) ។ ប៉ុន្តែគ្រាន់តែចេញពីការចង់ដឹងប៉ុណ្ណោះ វានៅតែគ្មានចំណុចអ្វីសោះ។
ប៉ុន្តែពេលខ្លះឯកសារគោលពីរត្រូវបានមើលក្នុងទម្រង់គោលដប់ប្រាំមួយសម្រាប់គោលបំណងដ៏មានអត្ថន័យ និងជាក់លាក់។ ជាឧទាហរណ៍ អ្នកឯកទេសមន្ទីរពិសោធន៍ប្រឆាំងមេរោគរកមើលកូដព្យាបាទដែលត្រូវបានបន្ថែមទៅលេខសំខាន់តាមរបៀបនេះ។ ដោយវិធីនេះ ចូរយើងបន្តទៅបញ្ហាសន្តិសុខ។
អ្វីដែលអាចបង្កគ្រោះថ្នាក់
ឯកសារអត្ថបទមិនអាចមានអ្វីក្រៅពីតួអក្សរ ASCII ទេ។ ទោះយ៉ាងណាក៏ដោយ កម្មវិធីមិនត្រឹមតែជាប្រព័ន្ធគោលពីរប៉ុណ្ណោះទេ ប៉ុន្តែក៏មាននិមិត្តសញ្ញាខាងលើផងដែរ។ ខ្ញុំមានន័យថា ស្គ្រីប។
ម្យ៉ាងវិញទៀត ឯកសារ *txt មិនត្រូវបានឆ្លងមេរោគជាគោលការណ៍ ហើយមិនបង្កការគំរាមកំហែងទេ។ ហើយប្រសិនបើមានស្គ្រីបនៅក្នុងឯកសារអត្ថបទនោះ វាអាចមានបញ្ហាច្រើន។
ឧទាហរណ៍ ឯកសារ *bat មានកូដនៃពាក្យបញ្ជាផ្សេងៗ ហើយត្រូវបានបើកដំណើរការដោយការចុចពីរដង ដូចជាកម្មវិធីធម្មតា។ ពាក្យបញ្ជាទាំងនោះត្រូវបានសរសេរជាតួអក្សរ ASCII ប៉ុន្តែប្រព័ន្ធប្រតិបត្តិការដឹងពីរបៀបបកស្រាយវា - ប្រែក្លាយវាទៅជាសូន្យ និងមួយដែលជាតួយ៉ាងសម្រាប់កម្មវិធី។
ប៉ុន្តែជាការពិត អ្នកមិនចុចលើឯកសារ bat មិនស្គាល់ទេមែនទេ? នោះជាការល្អ។
ការបោះពុម្ពផ្សាយពីមុន៖
កែប្រែចុងក្រោយ៖ 2012-11-06 14:45:16
ស្លាកសម្ភារៈ: ,