[英]Read from text file and store them into a linked list in c
我有这些方法:
void loadQueue(nodePtr *start, nodePtr *end)
{
CreateQueue(&start, &end);
int c;
FILE* file = fopen("C:\\Users\\User\\Desktop\\Queue.txt", "r");
int numbers[50];
int i = 0;
while ((c = fgetc(file)) != EOF)
{
numbers[i] = atoi(&c);
i++;
}
for (int j = 0; j < i ;j++)
{
Enqueue(j, &start, &end);
}
};
现在我想使用此方法将它们放入队列:
nodePtr CreateNode(int num) {
nodePtr p = (nodePtr)malloc(sizeof(node)); // ALLOCATE MEMORY TO ONE NODE AND SET P TO POINT TO IT
if (p != NULL) // REMEMBER always check if memory was allocated otherwise the behaviousog program is undefined :)
{
p->item = num;
p->next = NULL;
}
return p;
}
并在此方法中使用创建节点:
bool Enqueue(int item, nodePtr *start, nodePtr *end) {
nodePtr newitem = CreateNode(item);
if (newitem != NULL)
{
if (isEmptyQueue(*start))
{
*start = newitem;
}
else
{
(*end)->next = newitem;
}
*end = newitem;
return true;
}
else
{
return false;
}
};
有人可以告诉我如何存储在队列中读取的传递的数据(数字),这是我在loadQueue方法中尝试执行的操作。
答案是 :
void loadQueue(nodePtr *start, nodePtr *end)
{
CreateQueue(start, end);
int c;
FILE* file = fopen("C:\\Users\\User\\Desktop\\Queue.txt", "r");
int numbers[50];
int i = 0;
while ((c = fgetc(file)) != EOF)
{
numbers[i] = atoi(&c);
i++;
}
for (int j = 0; j < i ;j++)
{
Enqueue(numbers[j], start, end);
}
};
感谢BLUEPIXY
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.