所以这是我到目前为止的代码:
char *c;
char inputString[200];
//get number of lines
c=fgets(inputString, 200, in_file);
while(c!=NULL){
numLines++;
c=fgets(inputString, 200, in_file);
}
rewind(in_file);
//array of instructions
char** instruc = malloc(numLines * 200);
c = fgets(inputString, 200, in_file);
//fill the array of instructions.
while (c != NULL){
//allocate space for the string in the index of the array
instruc[i] = malloc(200);
strcpy(instruc[i], inputString);
if (strcmp(instruc[i], "\n")==0){
fprintf(stderr, "Blank line.\n");
exit(-2);
}
i++;
c = fgets(inputString, 200, in_file);
}
出于某种原因,我的 strcmp(instruc[i], "/n") 没有在脚本中捕获新行,因此每当我的代码遇到新行时,都会出现分段错误。这是我传入的示例脚本:
CONST R1 11
PUSH R1
CONST R2 12
在 CONST R1 11 和 PUSH R1 之间,出现分段错误。任何人都可以帮助我如何检查行之间的空白吗?谢谢!