home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 March / Chip_2002-03_cd1.bin / chplus / cecko / CPP / SOUBOR3.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1998-10-05  |  2.0 KB  |  65 lines

  1. #include <fstream.h> //natahuje jiæ iostream.h
  2. #include <stdio.h> //jsou tu pouæity jen pro funkci Delka
  3. #include <io.h> //jsou tu pouæity jen pro funkci Delka
  4. char* jmeno="k:\\tmp\\data.txt";
  5.  
  6. //Funkce vrátí v promênné typu long délku souboru, zadaného v ⌐etêzci "jmeno"
  7. long Delka(char* jmeno) {
  8.  FILE *f;
  9.  long l;
  10.  f=fopen(jmeno,"rb");
  11.  l=filelength(fileno(f));
  12.  fclose(f);return l;
  13. }
  14.  
  15. //Vypí¿eme soubor jako znaky:
  16. void Vypis(char* jmeno) {
  17.  char i;
  18.  ifstream g;
  19.  g.open(jmeno,ios::in,ios::binary);
  20.  if (g) {
  21.   while (g.read((char*)&i,sizeof(i))) cout << i;
  22.   g.close();
  23.  } else cout << "Soubor neexistuje..." << endl;
  24. }
  25.  
  26. //Vypí¿eme soubor jako hexadecimální çísla:
  27. void Vypis2(char* jmeno) {
  28.  char i;
  29.  ifstream g;
  30.  g.open(jmeno,ios::in,ios::binary);
  31.  if (g) {
  32.   while (g.read((char*)&i,sizeof(i))) cout << hex << int(i) << " ";
  33.   g.close();cout << endl;
  34.  } else cout << "Soubor neexistuje..." << endl;
  35. }
  36.  
  37. int main() {
  38.  ofstream f(jmeno,ios::out);
  39.  if (f) {
  40.   f << "Zaçátek souboru:" << endl;
  41.   f << "Tento soubor by se mêl vytvo⌐it." << endl;
  42.   f << "Je¿tê tam zapí¿eme nêco..." << endl;
  43.   f << "Teâ nêco binárnê '";
  44.   f.put(1);f.put(2);f.put(3);f.put(4);f.put(5);
  45.   f << "' a teâ je¿tê nêco jako text." << endl;
  46.   f << "Konec souboru... (nemûæe bÿt nekoneçnÿ, jinak by se na disk neve¿el.)" << endl;
  47.   f.close();cout << "O.K., v¿e probêhlo v po⌐ádku. Hurá!!!" << endl;
  48.  } else cout << "Jaksi se ten soubor nepoda⌐ilo vytvo⌐it..." << endl;
  49.  Vypis(jmeno);
  50.  
  51.  f.open(jmeno,ios::out|ios::binary);
  52.  if (f) {
  53.   f << "ABC" << endl << "DEF" << endl;f.close();
  54.  } else cout << "Jaksi se ten soubor nepoda⌐ilo vytvo⌐it..." << endl;
  55.  cout << "Délka souboru otev⌐eného jako binární " << jmeno << " je " << Delka(jmeno) << endl;
  56.  
  57.  f.open(jmeno,ios::out);
  58.  if (f) {
  59.   f << "ABC" << endl << "DEF" << endl;
  60.   f.close();
  61.  } else cout << "Jaksi se ten soubor nepoda⌐ilo vytvo⌐it..." << endl;
  62.  Vypis(jmeno);
  63.  cout << "Délka souboru otev⌐eného jako textovÿ " << jmeno << " je " << Delka(jmeno) << endl;
  64.  return 0;
  65. }