Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
sõnum |
|
DoS
HV veteran
liitunud: 19.08.2002
|
09.11.2017 19:01:44
|
|
|
kalvis, pane see programm tööle nii, et kogu antud parool kirjutataks printf'ga välja. Oma printimisfunktsiooni ei tohi kirjutada, aga pw muutujat võid intisialiseerida ja globaliseerida nii nagu soovid.
#include<stdio.h>
int main(void) {
char pw[] = "M1nu$alajane\0parool";
printf("%s\n", pw);
} |
|
|
Kommentaarid: 50 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
47 |
|
tagasi üles |
|
|
kalvis
Kreisi kasutaja
liitunud: 20.10.2009
|
10.11.2017 09:37:46
|
|
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *p;
int main()
{
char pw[] = "M1nu$alajane\0parool";
p=pw; //aadressi võtt
//p=p+13; //see variant siin selleks, kuna on teada tegelikult esimese osa pikkus
p=p+strlen(p)+1;//vajalik järgmise stringi algus leida, see on juhtumil kui pole teada iga sõna pikkus
printf("%s\n%s\n", pw,p);
return 0;
}
Kui mõtlesid kuidas saada mõlemad stringid mis on ühes katkematus massiivis ekraanile siis nii saab. Niipalju pidin printimisfunktsiooni modima, et saaks mõlemad prinditud. Ilma modimatta pole võimalik või siis tuleb teha ajutine string ja null asendada keskel tühikuga.
Minul näitas kõike märke nii nagu string väärtustatud oli.
|
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
10.11.2017 10:17:07
|
|
|
Mis hetkel te üldse sujuvalt C peale üle läksite C#-st?
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
kalvis
Kreisi kasutaja
liitunud: 20.10.2009
|
10.11.2017 15:04:39
|
|
|
Ma ei kasuta C#, pole isegi vaadanud ühtegi programmirida. Ütlesin seda esimeses vastuses.
Ma lihtsalt oletasin, et C# aluspõhimõtted kasutavad C asju. (analoogia C++ le, seal võid peaaegu kõiki C asju kasutada, boonusena on c++ asjad juures)
C++ ja C kasutan mõlemat, C++ erinevusi C-ga võrreldes jämedas plaanis tean.
|
|
tagasi üles |
|
|
DoS
HV veteran
liitunud: 19.08.2002
|
10.11.2017 19:21:56
|
|
|
kalvis kirjutas: |
Kui mõtlesid kuidas saada mõlemad stringid mis on ühes katkematus massiivis ekraanile siis nii saab. Niipalju pidin printimisfunktsiooni modima, et saaks mõlemad prinditud. Ilma modimatta pole võimalik või siis tuleb teha ajutine string ja null asendada keskel tühikuga.
Minul näitas kõike märke nii nagu string väärtustatud oli. |
Sa ju ei printinud kogu parooli tervikuna välja, vaid tegid selle kaheks jupiks ja ikkagi muutsid printf'i, kuigi ei tohtinud. 0x00 on siin parooli osa mitte stringi lõpp, saad ju aru, et "M1nu$alajane\0parool" != "M1nu$alajane\nparool"? See probleem teemaalgatajal ongi.
|
|
Kommentaarid: 50 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
47 |
|
tagasi üles |
|
|
kalvis
Kreisi kasutaja
liitunud: 20.10.2009
|
13.11.2017 13:30:32
|
|
|
Jutuks oli eespool, mis teha tuleb, tuleb kopeerida ja null maha tappa.
char temp[20];
memcpy(temp,pm,20);
temp[12]=32;
printf("%s\n", temp);
|
|
tagasi üles |
|
|
napoleon
Unknown virus
liitunud: 08.12.2008
|
13.11.2017 14:43:53
|
|
|
mikk36 kirjutas: |
Mis hetkel te üldse sujuvalt C peale üle läksite C#-st? |
Arvatavasti minu süü, mina käisin välja hüpoteesi, et mõni binary library, mida c# ühenduse loomisel kasutab võib olla C++'s kirjutatud ja käsitleb 0x00 sümbolit stringi terminaatorina ja selleks 0x00 peale kobisebki invalid connection string vms.
Aga paistab et kalvis pole siiani aru saanud, kus selle hüpoteesi kohaselt probleem on ja toob siiani täiesti teemast mööda näiteid.
|
|
Kommentaarid: 76 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
59 |
|
tagasi üles |
|
|
Mnator
HV Guru
liitunud: 18.10.2007
|
13.11.2017 15:28:15
|
|
|
ta pole korralikult teema algust lugenud, et kuskohas lähtekood puudu on
|
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
|
RassK
HV Guru
liitunud: 17.01.2007
|
27.11.2017 13:55:07
|
|
|
Kui lib on puhtalt C#, siis lahti kompileerida, viga ära parandada ja uuesti kompileerida ?
|
|
Kommentaarid: 111 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
97 |
|
tagasi üles |
|
|
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|