Я прочитал это, и я только знаю, что буфер не определен объем данных в оперативной памятиПочему мы должны использовать буфер перед отправкой его в функцию
char buf[100];
snprintf(buf, sizeof(buf), "%s.txt", "abc");
FILE *f = fopen(buf, "r");
Как это работает? Почему мы должны использовать буфер для аргумента в функции? И почему не
char buf[100] = "abc.txt";
FILE *f = fopen(buf, "r");
работа?
Почему вторым один не работает? – P0W
Похоже, что длина буфера * указана *, это символы '100'. – Simon