C语言如何读取字符串的小数点前面的数据
时间: 2024-10-19 18:03:57 浏览: 24
在C语言中,如果你想从字符串中读取小数点前的数据,可以使用标准库函数`fgets()`和`sscanf()`。假设有一个字符串变量`input_string`,其格式类似"123.45",你可以这样做:
```c
#include <stdio.h>
#include <string.h>
#define MAX_INPUT_LENGTH 100 // 为了演示,这里设定最大输入长度
int main() {
char input_string[MAX_INPUT_LENGTH];
float number;
// 读取字符串
fgets(input_string, sizeof(input_string), stdin); // 或者使用fopen/fscanf for file input
// 移除字符串末尾的换行符(fgets默认添加)
if (input_string[strlen(input_string) - 1] == '\n') {
input_string[strlen(input_string) - 1] = '\0'; // 只保留有效字符
}
// 使用sscanf解析小数点前的数据
if (sscanf(input_string, "%f", &number) == 1) { // 成功读取一个浮点数
printf("小数点前的数据: %d\n", (int)number); // 将浮点数转换为整数展示
} else {
printf("无法读取有效数字\n");
}
return 0;
}
```
在这个例子中,`sscanf()`尝试从`input_string`中解析一个浮点数,并将其存储到`number`中。如果解析成功,`(int)number`将给出小数点前的部分。
阅读全文