我已经开始strtok
工作了,但是现在因为我正在使用scanf
以NULL
char 结尾的字符串,所以我的程序只能从重定向的标准中抓取一行。例如。
scanf("%s" , input);
token = strtok (input, ", \n");
while(token != NULL){
i += (strtol(token,0,0));
token = strtok(NULL, ", \n");
}
因此,我尝试使用函数来检查程序是否仅达到NULL
a EOF
(据我了解EOF
= -1 NULL
= 0),但我无法让指针和函数在我的代码中工作。PS我知道这是蹩脚的代码,但已经晚了,我仍在努力,等待建议指出我遗漏的明显错误。
int scanner();
int check_EOF();
int next_line(char *token);
int main(){
char *token, input[256];
int i = 0;
scanf("%s" , input);
token = strtok (input, ", \n");
if (!scanner())
check_EOF();
printf("%d\n", i);
return 0;
}
int check_EOF(){
while(token !=EOF);
next_line();
}
int next_line(){
while(token != NULL){
return 1;
else return 0;
}
int scanner(){
while(next_line()){
i += (strtol(token,0,0));
token = strtok(NULL, ",")
return 0
}
有没有一种我不知道的更简单的方法,或者我是否朝着正确的方向前进,但有很多错误?
谢谢,拉克兰