我有下面的代码从文件中读取读取:从文件C代码
fin = fopen("file1.txt", "r");
char* url;
if (fin)
{
while (line = read_line(fin))
{
if ((url=strstr(line, "url="))!=NULL)
{
fprintf(stdout, "%s \n", url);
url=line;
}
free(line);
}
}
printf("line is:%s ",url); //this one is NULL. How to solve this?
// I need A COPY OF THE DATA
fclose(fin);
出于某种原因url
是null
当printf
叫 - 我该如何解决呢?我需要一份数据。
如果你需要一个字符串的副本,一个良好的开端是'strcpy' –
你设置'URL = line;'然后释放'line'。现在url是一个无效的指针。 – jn1kk
'url = line; free(line)'; < - 'url'将指向与'line'相同的地址,所以当你调用'free(line)'时,你也会打断'url'。请问 –