2014-10-10 82 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