Miért nem szedi le az sscanf az egyenlőség jel utáni részt?
Figyelt kérdés
char *str="string1=string2";
char str1[128], str2[128];
sscanf(str, "%s=%s", str1, str2);
printf("str1: %s\n", str1);
printf("str2: %s\n", str2);
Az str1-be belekerül az egész str pedig ennek úgy kellene működnie, hogy str1-be a "string1" az str2-be pedig a "string2" kerül nem?
Hogyha egyenlőség jel helyett szóközt használok akkor szét szedi a szöveget a két külön részre.
Ez egyenlőség jellel miért nem működik?
2018. márc. 4. 04:17
2/2 sharkxxx válasza:
//Ha a %s nem az utolsó azonosító, akkor a szó után fehérkarakternek is kell lenni.
sscanf("string1=string2", "%s=%s", str1, str2); // nem működik
sscanf("string1 =string2", "%s =%s", str1, str2); // működik
sscanf("string1\t=string2", "%s\t=%s", str1, str2); // működik
sscanf("string1\n=string2", "%s\n=%s", str1, str2); // működik
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!