我正在编写以下程序,从文件中读取一些文本.然后我想把这个文本分成几个空格.我曾经strtok(buffer, " ")在空间之前得到缓冲区的第一个字.那部分工作正常.然而,在我使用之后,strtok(NULL, " ")我得到了相同的第一个单词.我期待着回到下一个词.在将数组传递给声明如下的函数char* buffer[BUFFER_SIZE]:
int decoder(char *buffer)
{
int reg_1 = 0;
int reg_2 = 0;
char *tok = strtok(buffer, " ");
if(strcmp(tok,"ADD") == 0)
{
strtok(NULL, " ");
puts(tok);
strtok(NULL, " ");
puts(tok);
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
您忘记将稍后调用的结果分配给strtok().他们应该看起来像:
tok = strtok(NULL, " ");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
127 次 |
| 最近记录: |