Jestem tylko ciekawy, dlaczego w języku programowania C funkcja odczytu sformatowanych danych wejściowych nosiła nazwę „scanf” w przeciwieństwie do „readf”. Zakładam, że wywodzi się z wcześniejszego języka, więc w takim przypadku dlaczego został tak nazwany we wcześniejszym języku? (Ponownie.)
Ponadto, dlaczego „printf” zamiast „writef”? Dlaczego w językach innych niż C „drukuj” lub „pisz” zamiast „wyświetlaj”?
źródło
To odpowiedź, która jest po prostu „intuicją”. Nazwa
readf()
zakłada, że masz już coś do przeczytania. Ale wscanf()
rzeczywistości ma dwie rzeczy do zrobienia: Zaczekaj na dane wejściowe użytkownika (innymi słowy, skanuj bufor wejściowy, aż znajdzie coś), a następnie przeczytaj. Zauważ, że nie oceniam, w jaki sposób system operacyjny faktycznie to implementuje, po prostu opisuję operację koncepcyjną.Wiem, że mi powiesz
fscanf()
isscanf()
nie zgadzasz się z tym pomysłem, ale zakładam, że są to rozszerzeniascanf()
i dlatego nadanie im tej samej nazwy było po prostu „normalne”.Nawiasem mówiąc, dlaczego masz na imię „Doug”, a nie „ABCD”? :-P
źródło