
VC读取TXT文档,数据还原问题
我建立一个TXT备份文件,内容格式为:标志位判断+空格+变量。如:bit1=true18562bit2=false0bit3=true7679bit4=true8642b...
我建立一个TXT备份文件,内容格式为:标志位判断+空格+变量。
如:bit1=true 18562
bit2=false 0
bit3=true 7679
bit4=true 8642
bit5=false 0
.
.
.
我想判断标志位,如果是true,则将数值赋给对应的变量。比如我读取bit1=true,则将18562赋值给变量i1,读取bit2=false,则不将0赋给i2,读取bit3=true,将7679赋值给i3。期望哪位大侠能解答。 展开
如:bit1=true 18562
bit2=false 0
bit3=true 7679
bit4=true 8642
bit5=false 0
.
.
.
我想判断标志位,如果是true,则将数值赋给对应的变量。比如我读取bit1=true,则将18562赋值给变量i1,读取bit2=false,则不将0赋给i2,读取bit3=true,将7679赋值给i3。期望哪位大侠能解答。 展开
2个回答
展开全部
#include <stdio.h>
int main()
{
FILE* file = NULL;
char line[1000];
int bit_n = 1;
int i[1000];
file = fopen("c:\\temp.txt", "r");
while(fgets(line, 1000, file) != NULL)
{
char format[1000];
char isTure[1000];
int num;
char sign1[] = "%s";
char sign2[] = "%d";
sprintf(format, "bit%d=%s %s", bit_n, sign1, sign2);
//printf("format = %s\n", format);
sscanf(line, format, isTure, &num);
//printf("%s, %d\n", isTure, num);
if(strcmp(isTure, "true") == 0)
{
i[bit_n] = num;
}
else
{
i[bit_n] = 0;
}
bit_n++;
}
fclose(file);
return 0;
}
int main()
{
FILE* file = NULL;
char line[1000];
int bit_n = 1;
int i[1000];
file = fopen("c:\\temp.txt", "r");
while(fgets(line, 1000, file) != NULL)
{
char format[1000];
char isTure[1000];
int num;
char sign1[] = "%s";
char sign2[] = "%d";
sprintf(format, "bit%d=%s %s", bit_n, sign1, sign2);
//printf("format = %s\n", format);
sscanf(line, format, isTure, &num);
//printf("%s, %d\n", isTure, num);
if(strcmp(isTure, "true") == 0)
{
i[bit_n] = num;
}
else
{
i[bit_n] = 0;
}
bit_n++;
}
fclose(file);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询