Jump to content
GSForum - Segélyvonal

Programozás C/C++-ban


Recommended Posts

Posted

Persze, hogy tudsz! Ha borland 3.1et használsz akkor annak jó a helpje. Ha értesz jól hozzá, akkor nézd meg az open, fopen parancsokat, és a hozzá tartozó példákat. Illetve a see also ban lesz a pozícionálásra. Már nem emlékszem, de azt hiszem az necces. Viszont ha írsz egy függvényt ami úgy ûködik, hogy a szöveg eleére pozízionál, és végigfut a szövegen, számolva az újsor karaktereket egésszen addig amíg el nem éri a bemenõ adatként megadott számot ( az n edik sort) és ott kilép, visszaadja mutatót...

HA nem megy írj pü-t és ha van msn-ed ott tudok segíteni!

Posted

Köszi! Majd holnap lehet megkereslek.

Posted

Borland C-ben szöveges állományt akarok kezelni. Azt nem tudom, hogy lehet-e (és ha igen, akkor hogyan) poziccionálni a fileban. Tulajdonképpen csak az lenne a lényeg, hogy a sorok között tudjak mászkálni, és az adott sort be tudjam olvasni.)

 

Ha az elõzõ nem megvalósítható:

Hogyan tudok Borland C-vel (dos vagy windows alatt) fájlokat létrehozni?

 

Nos:

Fájl létrehozása:

#include <stdio.h>

int main (void)
{
   FILE *f;

   f = open("uj_fajl.txt", "wt");
   if (f)
   { 
     fprintf(f, "Ez az új fájlom. :)");
     fclose(f);
   }

return 0;
}

 

Mászkálás a fájlban pedig:

fseek(fájlpointer, offset, honnantól);

Posted

Köszönöm!

A fájllétrhozás-t már megoldottam. (Kicsit nehezebb volt, mert a fájlnevet folyamatosan változtatnom kellett a progival... Össze-vissza kellett trükközni, de sikerült.)

 

Ezt az fseek() fügvény bõvebben el tudnád magyarázni? :upsz:

File pointer-OK

offset- :upsz:

honnantól- :upsz:

Posted

offset: gyakorlatilag azt jelenti, hogy hányadik bájtra álljon rá a fáljodban

honnantól: az offsetet lehet számolni a fájl elejétõl vagy végétõl (azt hiszem, hogy van egy harmadik mód is, csak az most nem jut eszembe). Ha azt akarod, hogy a fájl elejétõl számoljon, akkor SEEK_SET-et kell beírni.

Példa:

van egy 100 bájtos fájlunk, meg akarjuk nyitni és a 22. bájtra akarunk állni:

fseek(f, 22, SEEK_SET);

Posted

Értem.

Olyat nem lehet, hogy egy bizonyos sorra ugrik? Vagy azt hogyan lehetne megoldani?

Posted

Elég rég volt használatban ez a függvény, de mintha az fscanf tudna soronként olvasni, illetve egy stringet beolvas és a sorvége jelnél megáll.

Ezt kell annyiszor megismételni, ahány sort be akarsz olvasni.

Posted

Értem...

Közben gondolkodtam, és jönnek az ötletek, szóval meg lesz oldva ;)

Még egy kérdésem lenne:

Ez a sor vége karakter(/0) az akkor is meg van, ha jegyzettömbbe írom a szöveget, és ütök egy entert? Vagy ha a programmal íratok egy sorba, akkor is kirakja?

Posted

Megnéztem, ami neked kell, az a char *fgets(char *s, int size, FILE *stream); függvény. Az fscanf nem lesz jó, mert a szóközöknél is abbahagyja a beolvasást. A size azt jelenti, hogy max ennyit - 1 hajlandó beolvasni. Ezt célszerű az s hosszára állítani.

Posted

Nagyon köszönöm Nektek! :istenvagy:

El sem hiszem, hogy ez ilyen egyszerű lett... :) Az fgets lett a nyerő. Az ha beolvas egy sort ugrik a következőre. Egyetlen problémám akadt a bővítésnél. (fputs) Hogy az nem ugrott új sorba. De el sem hiszem milyen egyszerűen meg tudtam oldani: A fájlbaírandó sztringbe, az elejébe betettem egy \n-t és már azonnal rakta új sorba... :P

Köszönöm a segítséget. Most nekiállok a programnak, lehet, hogy majd jelentkezem, ha van valami gondom.

Posted

Ez JAVA nem? Szerintem nem ide kéne tenned. Most szerintem nehéz, de ha ismerném a javát, akkor lehet mást mondanék...

Posted

Bizony ez még JAVA-ban is izmos feladat, C-ben pedig még annál is inkább. Ha C-ben akarod megírni, akkor szerintem mindenképpen használd a Windows API-kat. Ha van valamilyen helped hozzá, akkor én a Socket szóra keresnék rá. Azon a környéken megvan szerintem, hogy hogyan lehet C-ben hálózati programot írni, de ez csak tipp.

Posted

Hát akkor ez nem lesz könnyû... :ötlet:

Posted

A hálózati kommunikáció c/c++ alatt engem is érdekelne... Ha rájössz valamire beírnád ide?

 

Az én kérdésem:

 

A program bemenete és kimenete egy-egy szövegfájl, amelyek nevét a program elsõ, illetve második paramétereként adjuk meg. Például, ha a szoveg.txt nevû fájlban található anagrammákat akarjuk az anagrammak.txt nevû fájlba összegyûjteni, akkor az

 

i130.exe szoveg.txt anagrammak.txt

 

parancsot adjuk ki.

 

Hogy jutok hozzá ehhez a két paraméterez???

main(char* arg1, char* arg2)

Így arg1 és arg2 értéke lesz a két paraméter???

Posted

Turbo C++ 4.5-ben windows alatt hogyan lehet késleltetni? A delay sajna csak DOS alatt megy...

Posted

ocsi:

main(argc, argv)
int argc; char *argv[];
{
     int i;

     for (i = 1; i < argc; ) {
          printf("%s", argv[i]);
          if (++i < argc)
               putchar(' ');
     }

     putchar('\n');
     exit(0);
}

argc: az átadott argumentumok száma

argv: az átadott argumentumok tömbje. A 0. elem mindig az exe neve.

 

gereby:

Sajnos a Win alatt nem olyan egyszerű várakozni egy ideig. Készíthetsz egy timer függvényt esetleg, vagy egy ciklust, ami adott értékig elszámol, de az utóbbi minden gépen másidő alatt fog lemenni, másrészt nem nagyon fog tudni mást csinálni addig a Windows.

A timer függvényt a SetTimer kapcsolja be és a KillTimer kapcsolja ki. A help-ben szerintem megtalálod a megoldást.

Posted

Hello! Azt szeretném megkérdezni, hogy van-e C++-t tanító online tankönyv? A Google-t ezerszer átnéztem, de nem leltem. És ha írjátok le a linkjét. A választ elõre is köszönöm.

Posted

Köszönöm szépen. Ez nagyon jó lesz. Köszi Gereby. :istenvagy:

Posted

Na ez nekem is jól jött! Mindíg is meg akartam tanulni a C nyelvet... aki tud még oldalt, kérem jelezze! :)

Posted

Ez egy nagyon jó oldal, csak szólni kéne a szerzõjének, hogy ez nem C++, hanem sima C.

Posted

Megmondom Faur tanárúrnak.

Egyébként van még több C-vel foglalkozó könyv is a suli szerverén:

>>EZ<<

>>ITT<<

Posted

Sziasztok!

Lenne egy kérésem.

Nagyom kellene és fontos lenne nekem egy: c++ thread ,devc++ compillerrel .

Ha valaki áttudná dobni,vagy mond egy linket ahol leszedném annak nagyon örülnénk !

Elõre is köszönöm szépen !

 

Viszlát!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...