我有一个文本文件,内容如下:
A 50
B 30
C 40
目前我的代码打开这个文件并读取每一行:
#include <stdio.h>
int main(void)
{
int file = 0;
{
char* filename = "commands.txt";
FILE* file;
file = fopen(filename, "a+");
char line[BUFSIZ];
while(fgets(line, sizeof(line), file)) {
char first_letter = line[0];
printf("%c", first_letter);
float number = line[2 : end]
printf("%f", number)
}
}
return 0;
}
字符变量 first_letter
被设置为字母。我写了 2:end 但显然那行不通。我想将浮点变量“数字”设置为该行上的任何数字。它不一定是 2 位数字。
最佳答案
阅读后,使用 sscanf()
解析它:
while(fgets(line, sizeof(line), file)) {
char first_letter;
float number;
if( sscanf(line, "%c %f", &first_letter, &number) != 2)
{ /* handle error */ }
printf("%c %f\n", first_letter, number);
}
关于c - 读取 C 中的行并转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31940779/