如何将 TCHAR 转换为 int

Nik*_*las 3 c++ windows

我想将 TCHAR 转换为 int,但是当我转换它时,我将 ASCII 值转换为 int,而不是数字值。

代码:

#include "stdafx.h"
#include <Windows.h>
#include <iostream>
#include <string>

using namespace std;

int converttoint()
{
    TCHAR tchar[2];
    wcscpy_s(tchar, TEXT("5"));

    int i = tchar[0];

    cout << i << endl;

    return i;
}

int main(int argc, _TCHAR* argv[])
{
    converttoint();

    string in;
    cin >> in;
}

Output: 53
Run Code Online (Sandbox Code Playgroud)

但我希望我能成为5岁。

如何才能做到这一点?

Mr.*_*C64 6

如果要将字符串(包含整数)转换为int,可以使用一些 C 函数,例如atoi()(对于charANSI 字符串)或_wtoi()(对于wchar_tUnicode UTF-16 字符串),或其他将语言环境作为附加输入参数的函数:可以阅读此 MSDN 文档的更多内容。

如果要使用 TCHAR 模型,相应的函数是_tstoi()_ttoi(),如前面提到的 MSDN 文档页中所述。