标题可能有点用词不当......只是因为我不确定我的 char 指针是否指向 NULL,或者它是否只是指向大小为 0 的 char 数组。
所以我有
char* data = getenv("QUERY_STRING");
我想检查数据是否为空(或者长度<1)。我试过了:
if(strlen(data)<1)
但我收到一个错误:
==24945== Invalid read of size 1
==24945== at 0x8048BF9: main (in /cpp.cgi)
==24945== Address 0x1 is not stack'd, malloc'd or (recently) free'd
我也试过
if(data == NULL)
但结果相同。
这里发生了什么?我已经用数据尝试过 cout,效果很好。我似乎无法检查它是空的还是空的。
我意识到这是两个不同的东西(空和空)。我想知道哪一个数据会在这里,以及如何检查它是否为空/空。