我试图从数组中进行字符串搜索。
看这个....
int TotalBadStrings = 3;
// START INFINITE SCANNING!
while(true)
{
for (int BadStringsCount = 0; BadStringsCount < TotalBadStrings; BadStringsCount++)
{
char* StringsToSearch[] = {"badstring1", "badstring2"};
char *lpData = (CHAR*)GlobalAlloc(GMEM_FIXED, MAX_READ),
lpOrig[] = StringsToSearch[BadStringsCount];
// HERE I MAKE A SCAN IN MEMORY USING lpOrig
}
当我尝试编译时我得到这个
[Error] initializer fails to determine size of 'lpOrig'
214 54 [Error] array must be initialized with a brace-enclosed initializer
问题是当我尝试从数组StringsToSearch中获取字符串之一时
我正在将DEV C ++ 5.6.1与GCC 4.8.1 32位一起使用
任何想法?先感谢您!
最佳答案
如果尚未完成,我建议在lpOrig的开头添加char *来定义它。
char *lpOrig[] = StringsToSearch[BadStringsCount];
我还看到如果BadStringsCount太大,这可能会在运行分段时导致分段错误。如果我正确理解您的代码,则BadStringsCount的唯一有效值应为0或1,因为您分配了2个要检查的错误字符串,并且数组在C ++中被索引为0(例如,数组的第一个元素位于位置0) 。您可能需要对第一行进行以下更改以解决此问题:
int TotalBadStrings = 2;