C语言 当 strtok 返回 NULL 时如何继续读取文件



我有一个文本文件:

hdsf5 sd3 htf2

使用指针 a,b,c 并将它们串通工作正常.. 但是

使用我的代码阅读这些行很好,但是如果缺少"sd3"怎么办:

hdsf5 htf2

我将如何继续从文件中读取,即使在这种情况下指针会返回 null。

一个简单的 if (b == NULL)(其中 be 就足够了吗?

编辑:我有这样的代码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main (int argc, char * argv[])
{
    FILE * ptr;
    char str[100];
    char * a, * b, * c;
    //while loop using fgets...
    // strtok each one...
   //convert each one to an integer using (atol())
  //this is where the seg fault/problem occur
}

我认为您在这里混合了概念:strtok适用于const char *字符串。
您可以通过读取文本文件、fscanffreadfgets等来获取字符串。

strtok返回 NULL 时,这意味着您的字符串中没有更多的标记,但这并不意味着您无法继续读取文件(即获取新字符串进行标记化):fscanf 等的返回值会告诉您。

相关内容

  • 没有找到相关文章

最新更新