把-412.456879取八位存到TXT文件中,符号要占一位,用C++
时间: 2023-05-24 13:03:52 浏览: 94
C++ 读取TXT文件中的数值
A:以下是示例代码:
```c
#include <stdio.h>
int main() {
double num = -412.456879;
int sign = (num < 0) ? -1 : 1;
num *= sign; // 取绝对值
int str_len = printf("%.8f", num); // 输出到字符串并获取长度
char str[str_len + 2]; // 分配存储空间(+2 是为了符号和结尾符)
sprintf(str, "%c%.8f", (sign < 0) ? '-' : '+', num); // 格式化输出到字符串
FILE *fp = fopen("output.txt", "w"); // 打开文件
fputs(str, fp); // 写入文件
fclose(fp); // 关闭文件
return 0;
}
```
其中,`num` 是要存储的数值,`sign` 是符号标志,取 `-1` 表示负数,`1` 表示正数。代码通过先取绝对值,再加上符号的方式把符号和数值结合起来输出到字符串中,然后再写入 TXT 文件中。需要注意的是,在格式化字符串中,`%c` 表示一个字符,`%.8f` 表示输出一个浮点数,保留小数点后 8 位。
阅读全文