. * Точность не указана в
строка формата, но как
дополнительный целочисленный аргумент
предшествующий аргумент, который должен быть
отформатирована.
#define SUFF ".txt"
#define MAX_STR 50
fileName[MAX_STR];
name ="myFile"
sprintf( fileName, "%s%s", name, SUFF ); //fileName = "myFile.txt"
Теперь я хочу связать строки с точностью.
Основная вещь, которую я пытаюсь сделать (но с более динамическими вычислениями, поэтому я использую '*'):
sprintf( fileName, "%.*s%.*s", 46, 4, name, SUFF );
Однако даже это создает исключение времени выполнения.
Более конкретно:
sprintf( fileName, "%.*s%.*s",
MAX_STR - (int) sizeof(SUFF), (int) sizeof(SUFF),
name, SUFF );