Podstawowym sposobem jest:
printf ("Here are the first 8 chars: %.8s\n", "A string that is more than 8 chars");
Drugim, często bardziej użyteczne sposobem jest:
printf ("Here are the first %d chars: %.*s\n", 8, 8, "A string that is more than 8 chars");
Tutaj określić długość jak int argument printf(), która leczy "*" w formacie jako żądanie uzyskania długości z argumentu.
Można również użyć notacji:
printf ("Here are the first 8 chars: %*.*s\n",
8, 8, "A string that is more than 8 chars");
Jest to również analogiczne do „% 8.8s”notacja, ale znowu pozwala określić minimalną i maksymalną długość w czasie wykonywania - bardziej realistycznie w scenariuszu jak:
printf("Data: %*.*s Other info: %d\n", minlen, maxlen, string, info);
Do ostatniego przykładu: Co jeśli skopiowany ciąg jest krótszy niż minlen? – truthseeker
Dane wyjściowe będą puste (po lewej stronie, chyba że dodasz '-'), aby uzyskać pełną określoną długość. –