2014-10-10 149 views
-5

我想在C++中翻译下面的python代码 有人能帮助我吗?将python转换为C++

# -*- coding: utf-8 -*- 
print("hello") 

fichier = open ('S19.txt','r') 
CS_MEF = open ('S19_MEF.txt','w') 
ligne = fichier.readline() 

i=0 
for ligne in fichier: 
    id_can = ligne[32]+ligne[33]+ligne[34]+ligne[35] 
    if ((id_can == '01A7') or (id_can == '01A8')): 

     x = int("0x"+ligne[44]+ligne[45]+ligne[41]+ligne[42],16) 
     if x > 0x7FFF: 
      x -= 0x10000   
     x = float(x)/17.5 
     xd = float(x)*57.29578 

     y = int("0x"+ligne[50]+ligne[51]+ligne[47]+ligne[48],16) 
     if y > 0x7FFF: 
      y -= 0x10000   
     y = float(y)/17.5 
     yd = float(y)*57.29578 

     z = int("0x"+ligne[56]+ligne[57]+ligne[53]+ligne[54],16) 
     if z > 0x7FFF: 
      z -= 0x10000   
     z = float(y)/17.5 
     zd = float(z)*57.29578 

     #print ("0x"+ligne[50]+ligne[51]+ligne[47]+ligne[48]) 
     chaine = " id ="+ id_can + " x= "+ str(x) + " xd= "+ str(xd) + " y= "+ str(y) + " yd= "+ str(yd) + " z= "+ str(z) + " zd= "+ str(zd) + "\n" 
     print (chaine) 
     #print ("central tête") 
     print(i) 
     i = i + 1 

     CS_MEF.write(str(i)) 
     CS_MEF.write(chaine) 



print (i) 
fichier.close() 
CS_MEF.close() 
+0

Python与C++有多种接口,包括SWIG,Boost Python和Cython。据我所知,没有办法自动将Python转换为C++。此外,Pypy可能值得一看。 – 2014-10-10 10:08:32

+4

这不太适合使用stackoverflow,因为您只是要求人们将代码移植到不同的语言中,而且人们往往不喜欢成为代码生成工具。如果您在移植它时遇到了更具体的问题,当然,但不是一个大的代码转储。 – Yann 2014-10-10 10:26:49

回答

-1

您可以使用Cython。生成的代码仍然依赖于Python库。如果您的目标是通过编译代码来加快代码速度,Cython将帮助您实现这一目标。

+0

想知道为什么这是downvoted会很有趣。 – megahallon 2014-10-10 11:46:04