加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从C中的同一个文件中读取int和char

发布时间:2020-12-16 09:40:52 所属栏目:百科 来源:网络整理
导读:我有一个看起来像这样的文本文件: i 3755i 3633i 4435i 1434 我将如何阅读这个作为输入,我尝试使用fscanf,但它继续在’i’后给我一个随机字符 例如输出看起来像 i% 3755 i5 3633 等等 这是我一直在尝试的: int data = 0; char command; if(fptr==NULL) pri
我有一个看起来像这样的文本文件:

i 3755
i 3633
i 4435
i 1434

我将如何阅读这个作为输入,我尝试使用fscanf,但它继续在’i’后给我一个随机字符

例如输出看起来像

i% 3755

i5 3633

等等

这是我一直在尝试的:

int data = 0; 
char command; 
if(fptr==NULL)
    printf("File Cannot Be Read"); 

fscanf(fptr,"%c %dn",&command,&data); 
printf("%c ",command);
printf("%dn",data);

fscanf(fptr,"%s %dn",data); 

fscanf(fptr,&data); 
printf("%s ",data);

他们似乎都没有工作.感谢您的帮助!

编辑:对于遇到同样问题的人来说,工作代码是:

int data = 0; 
char command; 
fptr = fopen(argv[1],"r"); 

if(fptr==NULL)
    printf("File Cannot Be Read"); 

while(fscanf(fptr,"%c %d n",&data) == 2)
{

        if(command == 'i')
        {
            printf("insert foundn");
        }
            if(command == 'd')
        {
            printf("delete foundn");
        }

}

}

解决方法

fscanf(fptr,"%c %d",command,&data);

应该:

fscanf(fptr,&data); 
getchar();  // consume the newline character that fscanf left.

假设你定义了:

char command;
int data;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读