В моем примере одна строка содержит 8 атрибутов (в виде строк и целых чисел), разделенных запятыми (,
). Я разделяю эти атрибуты в соответствии с запятыми, и у меня есть условие: напечатать строки в файле, которые имеют одно и то же название страны (один из атрибутов), с вводом, введенным пользователем. Итак, я написал это используя strcasecmp
(для сравнения двух строк без учета регистра):
if (strcasecmp(enteredCountryName, CountryNameInTheFile) == 0) {
fputs(line, outpufile);
}
Но я хочу поместить строки в выходной файл в возрастающем алфавитном порядке c из-за названий городов, которые являются другим атрибутом , Я всегда видел похожие примеры на Inte rnet, например:
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (strcmp(name[i], name[j]) > 0) {
strcpy(temp, name[i]);
strcpy(name[i], name[j]);
strcpy(name[j], temp);
}
}
}
Но я не мог адаптировать их к своему коду, так как я новый ученик. Можете ли вы показать мне, как я могу это адаптировать? Или, если у вас есть другое предложение для сортировки в соответствии с условием, которое я сказал, я хотел бы услышать это. Большое спасибо.