我有一个文本文件:
hdsf5 sd3 htf2
使用指针a,b,c和strtoking它们工作得很好..但是
使用我的代码阅读这些行很好,但是如果“sd3”缺失则会怎样:
hdsf5 htf2
如果指针在这种情况下返回null,我将如何继续读取文件。
如果(b == NULL)
(指针在哪里就足够了?
编辑:我已按照以下方式编写代码:
#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
}
答案 0 :(得分:0)
我认为您在这里混合概念:strtok
适用于const char *
字符串
您可以通过fscanf
,fread
,fgets
等来阅读文本文件来获取字符串。
当strtok
返回NULL时,表示字符串中没有更多令牌,但这并不意味着您无法继续读取文件(即获取新字符串以进行标记化):{{1的返回值等等会告诉你的。