0
LIST *list;
list = createList();
FILE *file = fopen("test.txt","r");
char line[50];
char* token;
while(fgets(line,sizeof(line),file))
{
token = strtok(line," ,:=");
while (token != NULL)
{
printf("\n%s",token);
token = strtok(NULL," ,:=");
}
}
這段代碼將我的文件中的行正確地分隔爲標記。 現在,我想將它們插入鏈表中。但在while循環中添加addNode函數:將從文件讀取的字符串插入鏈接列表
while (tp != NULL)
{
printf ("\n%s",token);
token = strtok (NULL, " ,:=");
addNode(li,&token);
}
插入時不起作用。
的ADDNODE功能是:(從給定庫)
int addNode (LIST* pList, void* dataInPtr)
{
bool found;
bool success;
NODE* pPre;
NODE* pLoc;
found = _search (pList, &pPre, &pLoc, dataInPtr);
if (found)
return (+1);
success = _insert (pList, pPre, dataInPtr);
if (!success)
return (-1);
return (0);
}
任何人有這個想法?
因爲'ADDNODE()'不採取大小參數,它可能不會複製數據, '需要'addNode(li,strdup(token))',因爲行不斷被修改。 – Dave
addNode(li,strdup(token))without&token worked。謝謝你們倆 – dorsalfin