Так что я довольно новичок в C (я использую язык C), и я хочу напечатать список чисел от 1 до 90 включительно. НО я хочу только распечатать список номеров, которые не находятся в указанном файле с именем reserved.txt (который должен хранить только список номеров int). При первом запуске программы (когда зарезервировано значение NULL, пользователю предлагается ввести число от 1 до 90 включительно. Затем это число сохраняется в файле reserved.txt. Когда зарезервировано содержит номер AT LEAST 1, однако я хочу распечатать все номера от 1 до 90 включительно на экране, за исключением любых чисел, хранящихся в файле reserved.txt. Поэтому я в основном хочу перескакивать или игнорировать значения в файле reserved.txt при печати значений на экране. должны быть очень подробными NB файл расположены в порядке возрастания каждый раз после первого запуска, если это помогаетПрочитать файлы и напечатать номера не в файле
ответ
Попробуйте массив вроде этого:...
unsigned int reserved_integers[max_value];
Затем использовать функцию FIL л это в.
void fill_table() {
FILE *input = fopen("reserved.txt", "r");
if (input == NULL) {
return;
}
unsigned int i = 0;
unsigned int x = 0;
char word[5];
for (; i < max_value; i++) {
if(fgets(word, 5, input) == NULL) break;
x = atoi(word);
reserved_integers[x] = i;
}
}
Наконец, в цикле печати значение индексов массива, которые равны нулю (я дам вам понять это самостоятельно).
fgets возвращает строку, поэтому eof возвращает пустую строку. –
'fgets()' does _not_ ничего не делает для 'x' в конце файла. «Если встречается конец файла, и никакие символы не считываются в массив, содержимое массива остается неизменным ...» C11 §7.21.7.2 – chux
@chux Извините, это была ошибка с моей стороны. –
- 1. Прочитать файлы, которые ищут строку и напечатать ее путь
- 2. Как напечатать диапазон порядкового номера
- 3. написать и прочитать в pdf-файле
- 4. как напечатать количество строк в файле не включая заголовок
- 5. Номера строк и текстовые файлы Java
- 6. Perl golf: напечатать полномочия номера
- 7. Прочитать пробел в файле
- 8. Пытается прочитать в файле
- 9. Webpack и номера версий в выходном файле
- 10. Как напечатать номера в поле предупреждения?
- 11. Извлечение и замена номера в текстовом файле
- 12. C++ номера в файле массиву
- 13. Не удается прочитать текстовые файлы
- 14. Прочитать последнюю фиксацию номера git и commit
- 15. Как напечатать номера в нужном порядке
- 16. Прочитать в файле и распечатать частоту письма
- 17. Как напечатать количество столбцов и строк в файле csv?
- 18. Как напечатать номера строк в журнале java
- 19. Поиск номера телефона в файле
- 20. Пытается прочитать в .gda-файле IDL
- 21. Соответствующие номера в текстовом файле?
- 22. Прочитать файлы и вставить данные в JTable
- 23. Разделительные номера в файле .CSV
- 24. Открыть txt-файл с помощью C# и прочитать номера в файле
- 25. Прочитать только раздел в файле
- 26. python 3 - найти и заменить все номера в текстовом файле
- 27. Чтение номера линии, в файле
- 28. Как напечатать напечатать первые и последние номера из списка делает в то время как цикл
- 29. Прочитать SMS с определенного номера
- 30. Получить номера строк слов, присутствующих в файле
Что вы пробовали до сих пор и где вы застряли? Если вы вообще не начали: попробуйте решить части проблемы: печатайте цифры от 1 до 90, читая целые числа из файла, ... Если все отдельные части работают изолированно, объедините их с окончательным решением. – 5gon12eder
Один из способов, которым вы могли бы это сделать, - сначала прочитать в файле reserved.txt массив целых чисел. Затем создайте внешний цикл, который будет проходить от 1 до 90, и каждый проход проверяет массив на это значение. Если число в зарезервированном массиве больше> чем текущий проход, вы можете распечатать весь путь до него без проверки массива. –
Попробуйте в командной оболочке: 'seq 1 90 | grep -v -f reserved.txt'. –