2017-01-27 5 views
-4

Ich verwende scanf_s, um Daten einzugeben.
Es verursacht Compilerfehler auf OnlineJudge, während scanf den Test bestehen kann.
Ich habe cstdio enthalten.
Ist scanf_s in anderen STLs enthalten?Warum verursacht scanf_s Compilerfehler bei OnlineJudge?

+0

'scanf_s' ist eine Microsoft-Erweiterung; es ist nicht Standard C. –

+0

Meistens habe ich Fragen über die 'XXX_s'-Funktionen hier gesehen, das Problem ist, dass das Poster nicht das zusätzliche Argument gab, sie versuchten, es wie das Original' XXX' zu nennen Funktion. – Barmar

+0

@GovindParmar tatsächlich scanf_s ist in der C11-Standard als Teil eines optionalen Anhangs. Sieht aber nicht so aus, als wäre es in C++. Benutzer, haben Sie überlegt, 'std :: cin' zu verwenden? – user4581301

Antwort

1

Wie Govind Parmar in seinem Kommentar erwähnt, ist scanf_s eine Microsoft-Erweiterung. OnlineJudge verwendet GNU C++ - Compiler und daher funktioniert die Verwendung von Microsoft-Erweiterungen nicht.

Hilfreiche Anmerkung: Wenn Sie Ihren Code vor dem Senden auf einem Standardcompiler testen möchten, stehen mehrere online zur Verfügung, z. B. ideone.

Verwandte Themen