Strtok没有插入空终止符?

时间:2018-03-23 06:49:10

标签: c token strtok

这是我打破SIC装配线的功能。 这是我的inputFile

的示例行
myData

写入文件的内容是:

FIRST   STL     RETADR      SAVE RETURN ADDRESS
RETADR      SAVE RETURN ADDRESS

每当我尝试使用void tokenizeLine(int format) { fgets(inputLine,150,inputFile); char * label, * opcode, * operand, inputLine[150];//Variables to hold tokens char whiteSpaceDelim[] = " \t\r\n\v";//whitespaces //FORMAT1: LABEL, OPCODE, OPERAND //FORMAT2: OPCODE, OPERAND if(format==FORMAT1) { label = strtok(inputLine,whiteSpaceDelim); opcodePointer = strtok(NULL,whiteSpaceDelim); operand = strtok(NULL,whiteSpaceDelim); comment = strtok(NULL,whiteSpaceDelim);//used to place a \0 at the end of operand pointer } else//must be format 2 { opcodePointer = strtok(inputLine,whiteSpaceDelim); operand = strtok(NULL,whiteSpaceDelim); comment = strtok(NULL,whiteSpaceDelim); } } 仅将操作数写入时,我也会获得跟随它的注释。 fprintf是否未将comment = strtok(NULL,whiteSpaceDelim)放在操作数的末尾?

\0

0 个答案:

没有答案