gpt4 book ai didi

c - 从c中的文本文件中读取整数

转载 作者:行者123 更新时间:2023-11-30 17:36:36 24 4
gpt4 key购买 nike

我想将文件中的输入输入到我的 C 程序中。输入应该由数字和字符组成,之后我想区分它们。由于fscanf遇到非整数时返回0,不值得在这里使用,怎么办?

最佳答案

#include <stdio.h>
#include <ctype.h>

int main(){
int num, status;
FILE *fp = fopen("data.txt", "r");
while(EOF!=(status = fscanf(fp, "%d", &num))){
if(status == 1){
printf("%d\n", num);
} else { //if(status == 0){
(void)fgetc(fp);//replace by @chux's suggestion

int ch; while(EOF!=(ch=fgetc(fp)) && ch != '-' && !isdigit(ch)); if(ch == '-'){ int pch = fgetc(fp); if(isdigit(pch)){ ungetc(pch, fp); ungetc(ch, fp); } } 别的 { ungetc(ch, fp); }

        }
}
fclose(fp);
return 0;
}

关于c - 从c中的文本文件中读取整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22606014/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com