2011-06-17 30 views
2

我有一个第三方的C代码,其中有浮点数用浮点数初始化的大型浮点数组。例如:如何输入用数字初始化的巨型数组的铸造元素

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*/ 
+0

嘿,检查错误是否在这一行。因为我尝试了类似的任务,但我没有收到任何警告。 – Balanivash 2011-06-17 09:45:18

+2

我认为让一个支持正则表达式的编辑器(有很多)更容易,并用'$ 1f'替换该范围内的'(\。\ d +)'。 – kennytm 2011-06-17 09:46:41

+0

@Balanivash:我再次尝试,仍然得到警告。你可能想看看你的编译器的警告设置。 – Samil 2011-06-17 10:34:00

回答

2

查找与搜索文本编辑器和更换,如MS记事本,然后把它替换字符串的每次出现“”用‘F’。

相关问题