Powrót   Forum CDRinfo.pl > Różne > Komputery - oprogramowanie i sprzęt

Komputery - oprogramowanie i sprzęt Pytania i problemy niezwiązane z nagrywaniem, backupem i grami.



Witaj Nieznajomy! Zaloguj się lub Zarejestruj

Zarejestrowani użytkownicy mają dostęp do dodatkowych opcji, lepszej wyszukiwarki oraz mniejszej ilości reklam. Rejestracja jest całkowicie darmowa!

Odpowiedz na post
 
Opcje związane z dyskusją Tryby wyświetlania
Stary 30.10.2008, 13:49   #1
Patrix
Pingwin specjalista.
 
Avatar użytkownika Patrix
 
Data rejestracji: 22.06.2002
Lokalizacja: Central Park
Posty: 15,084
Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>
Programowanie C

Problem tyczy programu w C (nie C# ani C++)

Na pocz***261;tek podstawa:
Kod:
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>

int main() {
  FILE * plik;
  plik = fopen("abc.txt","rt");
  if(plik != NULL) {
    int znak;
    while((znak=fgetc(plik)) != EOF) putchar(znak);
    fclose(plik);
  }
  else printf("Blad otwarcia pliku");
  getchar();
return EXIT_SUCCESS;
}
Powy***380;szy kodzik otwiera plik tekstowy i wy***347;wietla ca***322;***261; jego zawarto***347;***263; na ekranie.


Plik tekstowy abc.txt ma zawarto***347;***263;:
Cytat:

<p>tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst</p>smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci <p>tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst</p> smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci<p>tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst</p>smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci<p>tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst</p>smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci <p>tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst</p>smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci <p>tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst</p> smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci<p>tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst</p>smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci<p>tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst</p>smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci <p>tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst</p>smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci <p>tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst</p> smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci<p>tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst</p>smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci<p>tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst</p>smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci <p>tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst</p>smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci <p>tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst</p> smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci<p>tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst</p>smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci<p>tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst</p>smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci smieci
Ubzdura***322;em sobie zadanie, ***380;e chc***281; odfiltrowa***263; od ***347;mieci tekst znajduj***261;cy si***281; pomi***281;dzy znacznikami <p> </p> i odfiltrowany wy***347;wietli***263; na ekran.
Problem mam taki, ***380;e potrafi***281; to n***281;dznie odfiltrowa***263; ale szukaj***261;c tylko < > Czyli po jednym znaku otwarcia i zamkn***281;cia. Nie mam pomys***322;u jak szuka***263; 3 znak***243;w w znaczniku na raz np <p>


Jakie***347; pomys***322;y ?
__________________
amiga500site
Patrix jest offline   Odpowiedz cytując ten post

  #ads
CDRinfo.pl
Reklamowiec
 
 
 
Data rejestracji: 29.12.2008
Lokalizacja: Sieć globalna
Wiek: 31
Posty: 1227
 

CDRinfo.pl is online  
Stary 30.10.2008, 17:40   #2
polakT
inżynier systemowy
 
Avatar użytkownika polakT
 
Data rejestracji: 07.07.2004
Lokalizacja: Białystok
Posty: 2,209
polakT jest klejnotem wśród średnio znających się "w temacie" <250 - 349 pkt>polakT jest klejnotem wśród średnio znających się "w temacie" <250 - 349 pkt>polakT jest klejnotem wśród średnio znających się "w temacie" <250 - 349 pkt>
Cytat:
Napisany przez Patrix Podgląd Wiadomości
Problem tyczy programu w C (nie C# ani C++)

Problem mam taki, ***380;e potrafi***281; to n***281;dznie odfiltrowa***263; ale szukaj***261;c tylko < > Czyli po jednym znaku otwarcia i zamkn***281;cia. Nie mam pomys***322;u jak szuka***263; 3 znak***243;w w znaczniku na raz np <p>


Jakie***347; pomys***322;y ?
a moze 2 przebiegi ??
1) stawiasz koniec linijki po kazdym > (ew zapis do czegos)
2) wywalasz / omijasz linijki zaczynajace sie od <
polakT jest offline   Odpowiedz cytując ten post
Stary 30.10.2008, 17:47   #3
Patrix
Pingwin specjalista.
 
Avatar użytkownika Patrix
 
Data rejestracji: 22.06.2002
Lokalizacja: Central Park
Posty: 15,084
Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>
z samym " < > " to nie jest trudno ale to ma filtrowa***263; tylko znaczniki " <p> </p> " (zostaje tylko zaw. miedzy nimi) bo gdy w smieciach b***281;d***261; inne znaczniki to one maj***261; by***263; odsiane jako ***347;mieci

Dlatego pisz***281;, ***380;e 3 znaki na raz ...
__________________
amiga500site
Patrix jest offline   Odpowiedz cytując ten post
Stary 30.10.2008, 20:04   #4
rosol
Guru
 
Avatar użytkownika rosol
 
Data rejestracji: 28.12.2002
Posty: 1,563
rosol niedługo stanie się sławny ;) <50 - 149 pkt>
Cytat:
int main(int argc, char *argv[])
{
ifstream plik;
char c;
plik.open("abc.txt");
if(!plik.is_open())
{
cerr<<"blad otwarcia";
exit(1);
}

else
char r,o,s,l;
while(plik.get(c))
{
if(c=='<')
{
r=c;
plik.get(o);
if(o=='p')
{
plik.get(s);
if(s=='>')
{}
}

else if(o=='/')
{
plik.get(s);
if(s=='p')
{
plik.get(l);
if(l=='>')
{cout<<"\n\n";}
else
cout<<r<<o<<s;
}
}

else
cout<<r<<o;

}

else
cout<<c;
}
plik.clear();
plik.close();
getchar();
system("PAUSE");
return EXIT_SUCCESS;
}
Powinno dzialac;]
Zrobilem zeby po znakach </p> wstawialo 2 znaki nowej linii zeby akapity oddzielic;]
rosol jest offline   Odpowiedz cytując ten post
Stary 30.10.2008, 20:08   #5
Patrix
Pingwin specjalista.
 
Avatar użytkownika Patrix
 
Data rejestracji: 22.06.2002
Lokalizacja: Central Park
Posty: 15,084
Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>
Fajnie... ale to jest C++ a nie C, pisalem w pierwszym poscie, ze pisz***281; w C
__________________
amiga500site
Patrix jest offline   Odpowiedz cytując ten post
Stary 30.10.2008, 20:12   #6
rosol
Guru
 
Avatar użytkownika rosol
 
Data rejestracji: 28.12.2002
Posty: 1,563
rosol niedługo stanie się sławny ;) <50 - 149 pkt>
ajjj no sorki patrix ale jestem po malym i niewyraznie widze ;] ale algorytm widzisz wiec latwo zrobisz teraz w C ;]
rosol jest offline   Odpowiedz cytując ten post
Stary 30.10.2008, 20:16   #7
Patrix
Pingwin specjalista.
 
Avatar użytkownika Patrix
 
Data rejestracji: 22.06.2002
Lokalizacja: Central Park
Posty: 15,084
Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>
taa... C++ jest podobne do PHP gdzie szalej***281;, ale C jest troszk***281; bardziej krety***324;skie
otwieranie pliku na wska***378;nik i inne ciu*stwa
__________________
amiga500site
Patrix jest offline   Odpowiedz cytując ten post
Stary 30.10.2008, 20:17   #8
rosol
Guru
 
Avatar użytkownika rosol
 
Data rejestracji: 28.12.2002
Posty: 1,563
rosol niedługo stanie się sławny ;) <50 - 149 pkt>
hmmm a czemu C++ nie moze byc?
rosol jest offline   Odpowiedz cytując ten post
Stary 30.10.2008, 20:29   #9
Patrix
Pingwin specjalista.
 
Avatar użytkownika Patrix
 
Data rejestracji: 22.06.2002
Lokalizacja: Central Park
Posty: 15,084
Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>
Cytat:
Napisany przez rosol Podgląd Wiadomości
hmmm a czemu C++ nie moze byc?
Dlatego, że wałkuję C
Mam pomysł, użyję strstr() z biblioteki string.h zobaczymy czy się uda
__________________
amiga500site
Patrix jest offline   Odpowiedz cytując ten post
Stary 30.10.2008, 20:30   #10
andy
logged out
CDRinfo VIP
 
Avatar użytkownika andy
 
Data rejestracji: 12.07.2003
Lokalizacja: /home
Posty: 12,518
andy jest wzorem do naśladowania <650 - 999 pkt>andy jest wzorem do naśladowania <650 - 999 pkt>andy jest wzorem do naśladowania <650 - 999 pkt>andy jest wzorem do naśladowania <650 - 999 pkt>andy jest wzorem do naśladowania <650 - 999 pkt>andy jest wzorem do naśladowania <650 - 999 pkt>andy jest wzorem do naśladowania <650 - 999 pkt>andy jest wzorem do naśladowania <650 - 999 pkt>
A nie mo***380;na robi***263; offsetu jak napotkany znak to ">"?
Np. p***281;tla napotyka znak "<" ko***324;czy dzia***322;anie i rozpoczyna si***281; od [i] + 3 i leci do momentu kiedy mamy znacznik "<" zapisuj***261;c ci***261;g do jakiego***347; stringa. I tak w k***243;***322;ko a***380; p***281;tla while nie b***281;dzie fa***322;szywa.

EDIT

Dodatkowo mo***380;na sprawdza***263; czy znaki po [i] s***261; "/p>" czyli
Kod:
if(plik[i] + 1 == "/" and plik[i] + 2 == "p" and plik[i] + 3 == ">")
{
i += 4;
buff += plik[i];
}
__________________
XMPP: andrzej(at)czerniak.info.pl

Ostatnio zmieniany przez andy : 30.10.2008 o godz. 20:35
andy jest offline   Odpowiedz cytując ten post
Stary 30.10.2008, 20:35   #11
rosol
Guru
 
Avatar użytkownika rosol
 
Data rejestracji: 28.12.2002
Posty: 1,563
rosol niedługo stanie się sławny ;) <50 - 149 pkt>
@Patrix nie warto sie bawic w takie jezyki jak stare C ;] Trzeba isc do przodu a nie cofac sie Szczerze to po tym tygodniu dostalem oczoplasu od metod numerycznych i programowania C/C++ a poza tym po dobrym piwie jestem i nie chce mi sie dzisiaj nad tym myslec
rosol jest offline   Odpowiedz cytując ten post
Stary 30.10.2008, 20:55   #12
polakT
inżynier systemowy
 
Avatar użytkownika polakT
 
Data rejestracji: 07.07.2004
Lokalizacja: Białystok
Posty: 2,209
polakT jest klejnotem wśród średnio znających się "w temacie" <250 - 349 pkt>polakT jest klejnotem wśród średnio znających się "w temacie" <250 - 349 pkt>polakT jest klejnotem wśród średnio znających się "w temacie" <250 - 349 pkt>
Cytat:
Napisany przez rosol Podgląd Wiadomości
@Patrix nie warto sie bawic w takie jezyki jak stare C ;] Trzeba isc do przodu a nie cofac sie Szczerze to po tym tygodniu dostalem oczoplasu od metod numerycznych i programowania C/C++ a poza tym po dobrym piwie jestem i nie chce mi sie dzisiaj nad tym myslec

heheh, to wiesz, wszystko zależy, np ja cofnąłem się jeszcze bardziej do ASM , chociaż ostatnio próbuję C, ale zaduze pliki mi wychodzą
polakT jest offline   Odpowiedz cytując ten post
Stary 30.10.2008, 21:38   #13
Patrix
Pingwin specjalista.
 
Avatar użytkownika Patrix
 
Data rejestracji: 22.06.2002
Lokalizacja: Central Park
Posty: 15,084
Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>
Cytat:
Napisany przez andy Podgląd Wiadomości
EDIT

Dodatkowo można sprawdzać czy znaki po [i] są "/p>" czyli
Kod:
if(plik[i] + 1 == "/" and plik[i] + 2 == "p" and plik[i] + 3 == ">")
{
i += 4;
buff += plik[i];
}
pomysł dobry tylko jak to zrobić za pomocą fgets/fgetc i jak tam sprawdzać licznik ?
__________________
amiga500site
Patrix jest offline   Odpowiedz cytując ten post
Stary 30.10.2008, 21:54   #14
gallus
gÓru
 
Avatar użytkownika gallus
 
Data rejestracji: 20.12.2003
Lokalizacja: Zbąszynek
Posty: 5,983
gallus jak się przyłoży ma szansę zostać specem <150 - 249 pkt>gallus jak się przyłoży ma szansę zostać specem <150 - 249 pkt>gallus jak się przyłoży ma szansę zostać specem <150 - 249 pkt>
Jako, ***380;e trafi***322; si***281; aktualnie taki temat to mam pytanie do koleg***243;w znaj***261;cych si***281; na c++...
Zabieram si***281; za nauk***281; tego j***281;zyka wi***281;c chcia***322;bym dowiedzie***263; si***281; jaka ksi***261;***380;k***281; na jego temat warto kupi***263; i przeczyta***263;, wielu ludzi poleca niby Symfonie C++, cho***263; mo***380;e pojawi***322;o si***281; ju***380; co***347; innego wartego uwagi...? Ewentualnie je***380;eli kto***347; zna jakie***347; dobre strony itp. na temat tego j***281;zyka to prosi***322;bym o adresy...
PS Mam kilka book***243;w w pdf-ie ale jako***347; ci***281;***380;ko zabra***263; mi si***281; za czytanie na kompie :/
Dzi***281;ki za wskaz***243;wki
__________________

gallus jest offline   Odpowiedz cytując ten post
Stary 30.10.2008, 21:56   #15
Patrix
Pingwin specjalista.
 
Avatar użytkownika Patrix
 
Data rejestracji: 22.06.2002
Lokalizacja: Central Park
Posty: 15,084
Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>
Cytat:
Napisany przez gallus Podgląd Wiadomości
Jako, ***380;e trafi***322; si***281; aktualnie taki temat to mam pytanie do koleg***243;w znaj***261;cych si***281; na c++...
Ludzie czytajcie ze zrozumieniem, gallus - sio mi z tego topiku, on jest o C a nie C++ !!!!!!!!
Reported.
__________________
amiga500site
Patrix jest offline   Odpowiedz cytując ten post
Odpowiedz na post

Tagi
c++, poprostu c, programowanie


Twoje uprawnienia:
Nie możesz rozpoczynać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz umieszczać załączników
Nie możesz edytować swoich postów

BB codeWłączone
EmotikonkiWłączone
Kody [IMG]Włączone
Kody HTML są Wyłączone

Teleport

Podobne dyskusje
Dyskusja Autor Forum Odpow. Ostatni Post
programowanie ansi c robsson1988 Komputery - oprogramowanie i sprzęt 8 17.01.2008 19:11
Programowanie Ansi C kubag Off topic 2 08.01.2008 13:41
Programowanie C Burak_PL Komputery - oprogramowanie i sprzęt 19 04.10.2007 19:02
programowanie misiek767 Off topic 1 03.11.2006 01:20


Wszystkie czasy w strefie CET. Aktualna godzina: 18:04.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.