これまでの私のコードは次のとおりです。
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 の間で、セグメンテーション違反が発生します。行間の空白をチェックする方法を教えてもらえますか? ありがとう!