sscanf(): Bad scan conversion character "."
Offen
Dieses Issue hat noch niemand übernommen.
Bug
Extension: standard
Status: Needs Triage
- Vorherrschende Sprache
- C
- Sterne
- 40.4k
- Forks
- 8.2k
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 96
Beschreibung
Description
The following code:
<?php
$format = 'only %d - %.1f';
printf($format, 1, 2);
$str = sprintf($format, 1, 2);
sscanf($str, $format, $low, $max);
Resulted in this output:
only 1 - 2.0
Fatal error: Uncaught ValueError: Bad scan conversion character "." in /in/I1AVe:6
Stack trace:
#0 /in/I1AVe(6): sscanf('only 1 - 2.0', 'only %d - %.1f', NULL, NULL)
#1 {main}
thrown in /in/I1AVe on line 6
But I expected this output instead:
- no error, because shouldn't any format which is not marked as "not supported" in the docs work in both directions?
PHP Version
PHP 8.x
Operating System
No response
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem PHP-Reproducer und dem Einstiegspunkt für die Formatverarbeitung von sscanf(); vergleiche dessen Behandlung von %.1f mit dem dokumentierten Verhalten von printf()/sprintf(). Abgeschlossen ist die Aufgabe, wenn das unterstützte Formatverhalten konsistent geklärt und durch einen Regressionstest abgedeckt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- c, php
- Bereich
- backend
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 42/100