У меня есть указатель на структуру pcbptr
, который указывает на struct pcb
. Чтобы упростить это немного, я сказать pcb
имеет 3 параметра все типа int
поэтому у меня естьЧтение файла с числами, разделенных запятыми и сохранение каждой строки в указателе структуры
pcbptr mypcb = malloc(sizeof(pcb))
mypcb->first = 0;
mypcb->second = 0;
mypcb->third = 0;
Теперь у меня есть файл, который я называю input.txt
, и в основном это просто выглядит так:
3, 5, 2
5, 2, 1
То, что я хочу сделать, это создать 2 разных pcbptr
сек, хранящие следующие значения поэтому мой первый mypcb
будет выглядеть следующим образом:
mypcb->first = 3, mypcb->second = 5, mypcb->third = 2,
и второй mypcb
будет выглядеть следующим образом:
mypcb->first = 5, mypcb->second = 2, mypcb->third = 1
Проблема, которую я имею пытается отслеживать, где я прочитал до. Поэтому я мог бы называть мое чтение из функции файла первым pcb
, а затем прекратить писать, как только я доберусь до конца строки. Затем для моего второго pcb
, я хочу начать чтение с начала второй строки, где я остановился последним.
В основном у меня есть цикл while, и в каждом из них я сначала инициализирую свой pcbptr
, а затем вызываю функцию, которая читает эти файлы, но у меня возникают проблемы с тем, как указать, с чего начать чтение.
Может ли кто-нибудь объяснить, как я могу это сделать?
См. [Это хорошая идея для указателей typedef?] (Http://stackoverflow.com/questions/750178/is-it-a-good-idea-to-typedef-pointers) –
Если мой ответ isn ' t помогая вам, вам нужно будет показать больше вашего кода, чтобы мы имели представление о том, какие проблемы у вас есть. Пожалуйста, прочитайте о том, как создать MCVE ([Как создать минимальный, полный и проверенный пример?] (Http://stackoverflow.com/help/mcve)). Ваш вопрос об отслеживании позиций озадачивает меня; поток файлов отслеживает, где вы находитесь. Ваше упоминание о «прекращении написания» меня тоже озадачивает; запись ранее не упоминалась, и неясно, почему запись в выходной файл повлияет на то, как вы читаете данные из входного файла. _ [... продолжение ...] _ –
_ [... продолжение ...] _ Также неясно, нужно ли вам значение из двух (или более) строк, доступных в отдельных структурах одновременно, или достаточно, чтобы одна строка была на время в памяти. То, как вы обрабатываете выделенное 'struct pcb', будет зависеть от ответа на этот вопрос. Помните, что для каждого 'malloc()' должен быть соответствующий 'free()'. –