new Nev[60] = \"Florian_Horvath\";new AlsoVonal = strfind(Nev, \"_\", false);new SzovegVege = strlen(Nev);strdel(Nev, AlsoVonal, SzovegVege);printf(\"\\n %s \\n\", Nev);
Szerintem ez sokkal jobb és modernebb viszont plugin és include kell hozzá [pawn]new Nev[60] = \"Florian_Horvath\";new NevElso[30];new NevMasodik[30];sscanf(Nev, \"p<_>s[30]s[30]\",NevElso, NevMasodik);printf(\"%s, a %s családból csatlakozott a szerverhez\",NevElso,NevMasodik);[/pawn]Kimenet:[pawn]Florian, a Horvath családból csatlakozott a szerverhez[/pawn]
new nev[16] = \"Teszt_Nev\";print(nev); //kiírja az alábbit: Teszt_Nevnew i = -1;while((++i < strlen(nev)))if(nev == \'_\') nev = \' \';print(nev); //kiírja az alábbit: Teszt Nev
new nev[16] = \"Teszt_Nev\";print(nev); //kiírja az alábbit: Teszt_Nevnew i = -1;while((++i < strlen(nev)))if(nev == \'_\') nev = \' \';print(nev); //kiírja az alábbit: Teszt Nev Illetve az sscanfos kód nem valami jó, mivel tegyük fel akinek három tagos neve van (pl: John_W_Smith) akkor az alábbit fogja kiírni: John W_Smith. Így ezzel a kóddal átfutunk a nevén egy ciklussal és ha az \"i\" tag egyenlõ \"_\"-vel akkor kicseréljük \" \"-re (azaz szóközre).
Minek túl bonyolítani? [/quote]
new nev[16] = \"Teszt_Nev\";print(nev); //kiírja az alábbit: Teszt_Nevnew i = -1;while((++i < strlen(nev)))if(nev == \'_\') nev = \' \';print(nev); //kiírja az alábbit: Teszt Nev Illetve az sscanfos kód nem valami jó, mivel tegyük fel akinek három tagos neve van (pl: John_W_Smith) akkor az alábbit fogja kiírni: John W_Smith. Így ezzel a kóddal átfutunk a nevén egy ciklussal és ha az \"i\" tag egyenlõ \"_\"-vel akkor kicseréljük \" \"-re (azaz szóközre). Minek túl bonyolítani? [/quote] [/quote]@1ST_ChrNem tudom számodra ezen mi a bonyolult, de sscanf már bonyolult, a first verzió ebben a témában meg túl sok native funkciót használ (amiben szintén belsõ ciklusok vannak), emiatt már bonyolultabb.DrAke megoldása meg egyetlen for ciklussal végzi a dolgát. (lehet rajt egyszerûsíteni még. (tipp: strlen nélkül)) (persze ez nem tér vissza a lehetséges vezetéknév tartalmával csak kicseréli az _(alsóvonal)-kat, szóközre)Bármelyik szöveg részt vissza lehet kapni, függetlenül attól, mennyi _ (alsóvonal) szerepel a karakterláncban.Még az strtok függvényt is fel lehet használni egy kis módosítással. (delimiter paraméter kibõvítéssel).
Minek túl bonyolítani? [/quote] [/quote]@1ST_ChrNem tudom számodra ezen mi a bonyolult, de sscanf már bonyolult, a first verzió ebben a témában meg túl sok native funkciót használ (amiben szintén belsõ ciklusok vannak), emiatt már bonyolultabb.DrAke megoldása meg egyetlen for ciklussal végzi a dolgát. (lehet rajt egyszerûsíteni még. (tipp: strlen nélkül)) (persze ez nem tér vissza a lehetséges vezetéknév tartalmával csak kicseréli az _(alsóvonal)-kat, szóközre)Bármelyik szöveg részt vissza lehet kapni, függetlenül attól, mennyi _ (alsóvonal) szerepel a karakterláncban.Még az strtok függvényt is fel lehet használni egy kis módosítással. (delimiter paraméter kibõvítéssel).
new nev[16] = \"Teszt_Nev\";print(nev); //kiírja az alábbit: Teszt_Nevnew i = -1;while((++i < strlen(nev)))if(nev == \'_\') nev = \' \';print(nev); //kiírja az alábbit: Teszt Nev Illetve az sscanfos kód nem valami jó, mivel tegyük fel akinek három tagos neve van (pl: John_W_Smith) akkor az alábbit fogja kiírni: John W_Smith. Így ezzel a kóddal átfutunk a nevén egy ciklussal és ha az \"i\" tag egyenlõ \"_\"-vel akkor kicseréljük \" \"-re (azaz szóközre). Minek túl bonyolítani? [/quote] [/quote]@1ST_ChrNem tudom számodra ezen mi a bonyolult, de sscanf már bonyolult, a first verzió ebben a témában meg túl sok native funkciót használ (amiben szintén belsõ ciklusok vannak), emiatt már bonyolultabb.DrAke megoldása meg egyetlen for ciklussal végzi a dolgát. (lehet rajt egyszerûsíteni még. (tipp: strlen nélkül)) (persze ez nem tér vissza a lehetséges vezetéknév tartalmával csak kicseréli az _(alsóvonal)-kat, szóközre)Bármelyik szöveg részt vissza lehet kapni, függetlenül attól, mennyi _ (alsóvonal) szerepel a karakterláncban.Még az strtok függvényt is fel lehet használni egy kis módosítással. (delimiter paraméter kibõvítéssel). [/quote]Még egyszerûbb: print(\"Betöltve!\");new nev[16] = \"Teszt_Nev\";print(nev);new i = 0;while(((nev == \'_\') ? (nev = \' \') : (nev = nev))) i++;print(nev);
Minek túl bonyolítani? [/quote] [/quote]@1ST_ChrNem tudom számodra ezen mi a bonyolult, de sscanf már bonyolult, a first verzió ebben a témában meg túl sok native funkciót használ (amiben szintén belsõ ciklusok vannak), emiatt már bonyolultabb.DrAke megoldása meg egyetlen for ciklussal végzi a dolgát. (lehet rajt egyszerûsíteni még. (tipp: strlen nélkül)) (persze ez nem tér vissza a lehetséges vezetéknév tartalmával csak kicseréli az _(alsóvonal)-kat, szóközre)Bármelyik szöveg részt vissza lehet kapni, függetlenül attól, mennyi _ (alsóvonal) szerepel a karakterláncban.Még az strtok függvényt is fel lehet használni egy kis módosítással. (delimiter paraméter kibõvítéssel). [/quote]Még egyszerûbb: print(\"Betöltve!\");new nev[16] = \"Teszt_Nev\";print(nev);new i = 0;while(((nev == \'_\') ? (nev = \' \') : (nev = nev))) i++;print(nev);
print(\"Betöltve!\");new nev[16] = \"Teszt_Nev\";print(nev);new i = 0;while(((nev == \'_\') ? (nev = \' \') : (nev = nev))) i++;print(nev);