252
C programozás help
  • Laci73
    #52
    A scanf függvény használata után érdemes fflush-al törölni a puffert? Nekem sokszor észre sem hajlandó venni a scanf argumentumokat két-három hivatkozás után. Én vagyok a béna?
  • Aaron Hallam #51
    Thx
  • AtomHeart
    #50
    futtasd oket konzolbol. Start->run->cmd [enter]
  • Aaron Hallam #49
    Nah ide írok hogy ne nyissak új topikot... sazl:az lenne a problémám hogy a progik amiket megírok azok azonnal bezáródnak, XP-ben be lehet állítani hogy ezeket ne zárja be automatikusan ha lefutottak?
  • nemcsakfeel
    #48
    mar koszi tul vagyok a progi leadasan, 4 est kaptam ra, mert az strcat et (se)nem birtam hasznalni faxom tudja miert .
  • AtomHeart
    #47
    Az elobbi a 43-ra ment
    (ez az Opera neha megol...)
  • AtomHeart
    #46
    "man select" kell neked :^)
  • nemcsakfeel
    #45
    loal
  • Pheel
    #44
    Van ez a tuti eBook: Network Programming for Microsoft Windows - Second Edition - Caudex

    Ez kell neked, nem mi :)
  • nemcsakfeel
    #43
    de azzal hogy tudom a "fajlt" figyelni???
  • AtomHeart
    #42
    Lasd select()
  • nemcsakfeel
    #41
    ok, megy.

    visszaterve a stream re.
    milyen fv vel; tudom lekerdezni hogy modosult e?
    ( egy socektre van rahuzva, es most az fread .. el addig var amig nem erkezik ra uj adat ) nekem az kene hogy lekerdezem, es rogton visszakapom hogy igaz/ hamis.
  • Pheel
    #40
    string.h-ban van strcat nevű fgv
  • nemcsakfeel
    #39
    mivel tudok 2 ilyen stringet osszefuzni?
  • Pheel
    #38
    igen
  • nemcsakfeel
    #37
    akkor ha igy deklaralom:
    global:
    char *szervern;
    char *nick;

    fv ben:
    nick=(char*)malloc(sizeof(char)*25);
    szervern=(char*)malloc(sizeof(char)*25);

    beolvasasuk:
    printf("\n Add meg a szerver nevet/ IP jet ( Uj asztalnal nem lenyeges )");
    scanf("%s",szervern);

    kiiratasuk:
    printf(" %s @ %s:%d",nick,szervern,port);

    es amikor fuggvenyt hivok veluk
    KapcsKliens(szervern,port);

    masik .c ben a fv
    int KapcsKliens(char *szervernev,int port);
  • harczSuli
    #36
    ha jól tom, akkor char*-nál nem kell & a scanf-be, mer ott a 'szoveg' maga a cím
  • Pheel
    #35
    Válasz ment magánban.
  • nemcsakfeel
    #34
    a streames dolog kicsit elnapolva

    lehet ez kurva alap dolog, de nem ertem miert nem mukszik:

    char *szoveg;

    void fv()
    {
    scanf("%s",&szoveg);
    printf( " %s ",szoveg);
    }
  • Pheel
    #33
    Ja remélem kicserélted a {} jeleket az include-nál! :)
  • sniper
    #32
    Mitol lenne baromsag? Hogy c++-ban van? Ma mar nem is nagyon talalsz mas fejlesztoeszkozt, a c mar csak alapozonak kell a c++-hoz, sztem meg bonuszpontot is kap ra. :)
  • Pheel
    #31
    fgets ANSI által támogatott, szóval mennie kell NIX rendszerekben is.

    fread szerintem EOF-ig olvas, fgets meg egy \n -ig.
  • nemcsakfeel
    #30
    francokat.
    beputtyoltam, persze innen nem akarja normálisan futtatni, holnap reggel tudom majd csak kipróbálni, és délre kell leadnom......
    thx
  • nemcsakfeel
    #29
    kössz, majd megpróbálom.
    de nemtom hogy az fread és az fgets mennyire kompatibilis egymással. meg mennyi megy az egész linux alatt.
    pill
  • AtomHeart
    #28
    az elso mondat a #25-re ment...
  • AtomHeart
    #27
    Az baromsag, meg c++ :^)

    #24:
    int StrFogadas(char **szoveg){
    *szoveg=(char*)malloc(sizeof(char)*hossz);
    }

    ...

    StrFogadas(&kerd);
  • Pheel
    #26
    Szerintem nem C++, hanem C megoldás kellene, ha már az a topic címe :)


    #include {stdio.h}
    #include {stdlib.h}

    char *StrFogadas(char *szoveg, FILE *stream)
    {
    int hossz;
    char line[101];
    fgets(line,100,stream);
    hossz = atol(line);
    szoveg=(char*)malloc(sizeof(char)*hossz);
    fgets(szoveg,hossz,stream);
    return szoveg;
    }

    int Kiiratas()
    {
    char *kerd = NULL;
    kerd = StrFogadas(kerd, stdin);
    printf("\nszoveg: %s",kerd);
    free(kerd);
    return 0;
    }

    int main()
    {
    Kiiratas();
    return 0;
    }

  • sniper
    #25
    akarmi* muti;

    fv1()
    {
    muti = new akarmi;
    };

    fv2()
    {
    akarmi ezkell;
    ezkell = *muti; // nefelejcs L copy konstruktort definialni az "akarmi"nek!
    delete muti;
    };
  • nemcsakfeel
    #24
    Az lenne a kerdesem hogy egy stringet hogy tudok atadni egyik fuggvenybol a masiknak, hogy az erteket megkapjam. ( cimszerinti atadas, ok, dehogy???)

    egy reszlet a progibol:

    int StrFogadas(char *szoveg)
    {
    int hossz;
    fread(&hossz,sizeof(int),1,stream);
    szoveg=(char*)malloc(sizeof(char)*hossz);
    fread(szoveg,sizeof(char),hossz,stream);
    return 0;
    }
    int Kiiratas()
    { char *kerd;
    StrFogadas(kerd);
    printf("\n szoveg: %s:",kerd);
    return 0;
    }

    valaki????
  • Devla
    #23
    Hali. Ha megvan egy program C forraskodja es portolni akarom(konkretan egy gameboy advance emulator), akkor a megfelelo eszkozokkel, mint MS Visual C++, siman le lehet forditani, vagy komolyabb valtoztatasok kellenek a kodban? Elvileg osszeszedtem mindent, amire a programnak szuksege van, de a visual c++ egy rakat "unresolved external symbol" hibauzenetet dob vissza.
  • SSS
    #22
    Pont annyira van mint 2 T...
  • nemcsakfeel
    #21
    azert a 3 S eleg kozel va a kettohoz :DD
  • SSS
    #20
    Ja, nem tudod véletlenül hogy ezt hogy lehetne megoldani fixpontosan?
  • SSS
    #19
    Kösz ,frankón működik.
  • SSS
    #18
    Kösz megnézem
  • Rigley
    #17
    Így talán működik:
    ----------------------------

    #include <stdio.h>

    long float fakt=1;
    int szorzo=1,szam;

    void main()
    {
    clrscr();
    printf("Adj meg egy szamot: ");
    scanf("%d",&szam);
    do
    {
    szorzo+=1;
    fakt*=szorzo;
    }
    while (szorzo!=szam);
    printf("A faktorialisa: %.3lf",fakt);
    }
  • SSS
    #16
    Ennek a programnak elvileg a megadott szám faktoriálisát kellene kiszámolni, de csak 7ig működik, attól felfele negatív számok jönnek ki nagyobb számoknál meg nulla:


    #include <stdio.h>
    int i,x;
    long int z;
    main(void){
    clrscr();
    printf("Adja meg a szamot:");
    scanf("%d",&x);
    z=1;
    for(i=1; i<x+1; i++){ z = z * i;}
    printf("A faktorialis: %d",z);
    return 0;
    }

    Ha valaki tudja mi a baja pls segítsen.
  • SSS
    #15
    Ok, kösz
  • Pheel
    #14
    Hétvégén sajna nem leszek netközelben, de szerintem ilyen megoldással már MrZool is szivesen segít. Én úgy ismerem :)
  • SSS
    #13
    Kösz ha segítesz délután vagy holnap lehet felteszem azokat a forráskódokat amiket eddig összehoztunk és elvileg jók de mégsem működnek.