【发布时间】:2019-08-01 06:00:23
【问题描述】:
由于某种原因,它永远不会进入这个循环,即使 wordSave 与 cacheList[0].fileName 是完全相同的字符串
if (fileNameInCache(wordSave) != -1)
{
printf("File found in cache.\n");
n = write(sock, cacheList[fileNameInCache(wordSave)].fileContent, 4096);
return 0;
}
这是检查文件名缓存的方法:
int fileNameInCache(char* name)
{
for (int i = 0; i < 256; i ++)
{
if (cacheList[i].fileName == name)
{
return i;
}
}
return -1;
}
cacheList 是一个结构数组,其中 fileName 也是一个 char*。
知道为什么它从不进入这个循环吗?
【问题讨论】:
标签: c string sockets char webserver