入力ファイルを指定して、C ++とPythonの両方でASCII値の合計を出力する簡単なコードを作成しました。
同じ入力テキスト ファイルに対して、C++ の部分では '\n' が除外されているようですが、Python の部分では計算の一部として '\n' が含まれていました。
コードに見落としているステップがあるかどうか疑問に思っていました。
コード片:
import sys
try:
f=open(sys.argv[1]).read()
except:
print " file not found \n"
sys.exit()
sum=0
for line in f:
for character in line:
try:
if character=='\n':
pass
else:
print character
sum+=ord(character)
except:
print "failed \n"
pass
print "The sum is %d \n" %sum
そして、C++ の部分は次のとおりです。
#include "iostream"
#include "fstream"
#include "string"
int k;
int main(int argc, char *argv[])
{
int sum=0;
std::string line;
std::ifstream myfile (argv[1]);
if (myfile.is_open())
{while (myfile.good())
{
getline (myfile,line);
for (k=0;k<(line.length());k++)
{
sum=sum+int(line[k]);
}
}
std::cout<<" The total sum is : " <<sum<<std::endl;
}
else std::cout<< "Unable to open file ";
return 0;
}