c++ - 如何将 TCHAR 转换为 int

标签 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

但我希望我是 5 岁。

如何做到这一点?

最佳答案

如果你想把一个字符串(包含一个整数)转换成一个int,你可以使用一些C函数,比如atoi()(对于char ANSI 字符串)或 _wtoi()(用于 wchar_t Unicode UTF-16 字符串),或其他将语言环境作为附加输入参数的内容:您可以阅读更多在 this MSDN documentation .

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

关于c++ - 如何将 TCHAR 转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39898346/

相关文章:

c++ - 用C在字符串中圈出的矩形

c++ - 为什么我的 visual studio 构建不正确?

c++ - Qt 模型 View 类中的意外行为

windows - 如何将调用 QueryPerformanceFrequency 的代码移植到 Rust?

c++ - 如何直接评估一个函数?

c++ - 在另一个类中创建一个静态类变量,使用已删除的函数=错误

windows - 忽略 vendor 目录

python - 如何在 Windows 命令行中使用参数运行 Python 脚本

java - 如何从 Windows 注册表中删除 JRE 条目?

windows - (git bash) 推送到 bitbucket 忽略 SSH key