Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Czytanie z pliku txt znak po znaku
dante90
post 28.05.2009, 19:22:24
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 1
Dołączył: 5.04.2009

Ostrzeżenie: (0%)
-----


Siema!
Jak czytać z pliku txt znak po znaku i jednocześnie zwiększać ilość wystąpień znaku w osobnej tablicy, jeżeli znak wystąpi. Domyślnie tablica ma elementy [azAZ] bez polskich znaków wraz z znakami [,.?!-]. Chodzi o stworzenie tablicy wystąpień znaku w tekście , która ma zostać wykorzystana do algorytmu Huffmana.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
wookieb
post 28.05.2009, 19:28:19
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




http://php.net/file_get_contents albo http://php.net/file
odczytanie znaku jest normalne
  1. <?php
  2. $ciag[2]; // 3 znak
  3. ?>


--------------------
Go to the top of the page
+Quote Post
erix
post 28.05.2009, 20:21:29
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




~wookieb, a nie lepiej fread" title="Zobacz w manualu PHP" target="_manual z rozmiarem jednego bajtu? tongue.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
wookieb
post 28.05.2009, 20:24:47
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Można nawet fpassthru (szybsze od file_get_contents). Od bawienia z fopen i fread odchodze smile.gif Śmierdzi C tongue.gif


--------------------
Go to the top of the page
+Quote Post
erix
post 28.05.2009, 20:29:27
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ale on chce znak po znaku... tongue.gif Po co ma pamięć marnować?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
wookieb
post 28.05.2009, 20:35:13
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




W pewnym sensie racja ale to już jego wybór smile.gif


--------------------
Go to the top of the page
+Quote Post
dante90
post 28.05.2009, 23:53:58
Post #7





Grupa: Zarejestrowani
Postów: 21
Pomógł: 1
Dołączył: 5.04.2009

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $tablica = array();
  3. $string = fopen('ala.txt', 'r');
  4. if (!$string)
  5. {
  6.  echo 'Nie można otworzyć plik.txt';
  7. } else
  8. {
  9.  while (false != ($char = fgetc($string)))
  10.  {
  11.      if (in_array($char,$tablica))
  12.      {
  13.          $tablica[$char]++;
  14.          echo "Znalazlo [".$char."]<br />";
  15.      }else
  16.      {
  17.          $tablica[$char]=1;
  18.          echo "Nie znalazlo [".$char."]<br />";
  19.      }
  20.      echo "<pre>";
  21.      print_r($tablica);
  22.      echo "</pre><hr />";
  23.  }
  24. }
  25. fclose($string);
  26.  
  27. ?>


Dlaczego nie moze znaleźć ani jednego znaku;/'
Go to the top of the page
+Quote Post
nospor
post 29.05.2009, 06:00:58
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




zobacz w manualu co robi in_array(). Jak po spojrzeniu nie bedziesz wiedzial jeszcze gdzie masz blad, to przyjrzyj się swojej $tablica, a nastepnie ponownie zajrzyj do manuala i zobacz co robi in_array() i na jakich danych operuje (jak ma wygladac tablica, co ma byc kluczem, a co wartością).
Nastepnie powinienes dojsc do dwoch wnioskow:
albo zmien to co wkladasz do tablicy i gdzie
albo uzyj isset()
winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 11:04