Мне нужно прочитать файл до его конца, но он прерывается до конца. Вот мой файл;fgets() не продолжается до конца файла во время цикла
8378749330196451143 7761927347639996843
3597172149842452783 2722311582032048570
6413963814675220040 151985128848019557
2797849130305409931 7006855242872793130
2312483514986641752 4723009976223322840
6299327914512777856 8560986736619134288
7840374864908954188 6413325942318176938
7120263339634576853 5721019237600873947
4064508404151769878 8332513917413808407
1131946326472490896 8768732125304950625
2593825059274639432 4898919688177170005
1152428805919273221 4955899780218674181
4762291655892416501 1286985264509566046
1098025338340897985 4952984927278789363
2524421559647997815 8843945302342585201
Я использую эту часть кода для получения линий;
file = fopen (buffer, "r");
if (file != NULL){
while (fgets (line, sizeof line, file) != NULL) {
// Token will point to the part before the =.
pairs[i].key = strdup(strtok(line, search));
// Token will point to the part after the =.
pairs[i].value = strdup(strtok(NULL, search));
i++;
}
}
Это работает, но не до конца. После прочтения части ниже, когда контур цикла завершен. Что может быть причиной этого? Каждая строка заканчивается символом \ n.
8378749330196451143 7761927347639996843
3597172149842452783 2722311582032048570
6413963814675220040 151985128848019557
2797849130305409931 7006855242872793130
2312483514986641752 4723009976223322840
6299327914512777856 8560986736619134288
7840374864908954188 6413325942318176938
7120263339634576853 572101923
Примечания: Я получил скриншот редактора, который показывает знаки
Dunno. Вероятно, вы должны отладить его. –
Когда я сделал минимальный пример из опубликованной вами информации, сделав разумные предположения о том, что код не показан, он работает. Таким образом, ваша проблема кроется в другом месте, или в строке слишком короткой, или 'strdup' или' strtok' возвращает 'NULL', или' search', не включая всех возможных ограничителей. Как всегда, вы ** должны ** размещать MCVE, который позволяет комментаторам реплицировать проблему. –
Примечание OP продолжается из ранее заданного вопроса http://stackoverflow.com/questions/33201531/values-stays-the-same-after-updating-a-struct-array-value –