2015-10-05 17 views
0

我正尝试从存储在文本文件中的数字中读取一位数字。我有以下几点:从文件中读取数字并将它们存储为十进制而不是C++中的ASCII码

int main() { 
    int test; 
    std::ifstream inFile("testNum.txt"); 
    test = inFile.get(); 
    std::cout << test << std::endl; 
} 

在testNum数目看起来是95496993,我只是想在一个时间读一个单一的数字。

当打印出“测试”可变我得到这实际上是数字9

的ASCII号码,我怎样才能读取存储实际的数字,而不是ASCII码值的文件数57 ?

我也尝试铸造到与int a = int(test) int,但没有奏效。 。 我的最终目标是能够单独读取数字的每个数字,并将它们分别存储在某个位置。

谢谢。

回答

1

尝试使用:

char test; 

或者:

std::cout << (char)test << std::endl; 

数据的std ::法院编码取决于您要输出的元素的类型。

在这种情况下,您希望输出“9”作为ASCII数字,而不是57作为其整数表示(char vs int)。

0

转换ASCII号码int的典型的C方法是使用类似

test=in.GetFile()-'0' // or use 48 instead of '0' 

这样你最终数量9价值test而不是57

相关问题