Да, если вы просто хотите напечатать седьмое имя, поместите условие вокруг вашего printf
:
if (counter == 6)
printf("%s%s\n", firstname, secondname);
Теперь просто общие замечания по другим проблемам вашего подхода.Во-первых, вы не выполняете проверку границ для своих входных данных, что может привести к переполнению буфера.
Общая рекомендация для чтения строк из файла - использовать fgets
.Это читает всю строку, если ваш буфер достаточно велик.Затем вы можете разбить эту строку на имена, используя strtok
или просто найдя первый пробел с помощью strchr
.
Другая проблема заключается в том, что вы не проверяете, успешен ли ввод.fscanf
возвращает количество успешно прочитанных элементов.Если это не равно 2, вам, вероятно, следует отказаться от цикла.
Наконец, вы выполняете цикл ровно 10 раз, что делает несколько смелое предположение относительно содержимого файла.Возможно, вы хотите выйти из цикла после прочтения 7-й строки.Кто знает?Но либо делайте это, либо выполняйте цикл, пока чтение строки не завершится неудачей.