在给定输入文件的情况下,我编写了一段简单的代码来输出 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;
}