gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 16:02:24 26 4
gpt4 key购买 nike

我有一个如下所示的文本文件:

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 %d\n", &command, &data);
printf("%c " , command);
printf("%d\n" , data);

fscanf(fptr,"%s %d\n", &command, &data);
printf("%c " , command);
printf("%d\n" , data);

fscanf(fptr,"%s %d\n", &command, &data);
printf("%s " , command);
printf("%d\n" , 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", &command, &data) == 2)
{

if(command == 'i')
{
printf("insert found\n");
}
if(command == 'd')
{
printf("delete found\n");
}

}

最佳答案

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

应该是:

fscanf(fptr,"%c %d", &command, &data); 
getchar(); // consume the newline character that fscanf left.

假设您定义了:

char command;
int data;

关于c - 从 C 中的同一个文件中读取 int 和 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13609986/

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