如何输入用数字初始化的巨大数组的强制转换元素

时间:2011-06-17 09:30:19

标签: c arrays casting type-conversion

我有第三方C代码,它有一个用浮点数初始化的float类型的大型数组。例如:

float myArray[] = {1.2, 2.5, ....}; /*has thousands of elements*/

当我编译时,我收到警告“从double到float的截断”。我想摆脱这个警告。如果数组大小很小(例如两个),我可以使用标准类型转换并手动更新代码,如下所示:

float myArray[] = {1.2f, 2.5f};

float myArray[] = {(float) 1.2, (float) (2.5)};

但是,由于元素数量众多,手动更新是不实际的。我是否必须编写一个编辑源代码的脚本并在数字后面添加“f”,或者只用一次转换就可以更简单地对整个数组进行类型转换?例如:

float myArray[] = (float){1.2, 2.5, ...} /*does not work, issues syntax error*/

1 个答案:

答案 0 :(得分:2)

找到一个带有搜索和替换的文本编辑器,例如MS记事本,然后用“f”替换每个字符串“,”。