如果我包含stdlib.h,那么也无法识别itoa().我的代码:
%{
#include "stdlib.h"
#include <stdio.h>
#include <math.h>
int yylex(void);
char p[10]="t",n1[10];
int n ='0';
%}
%union
{
char *dval;
}
%token ID
%left '+' '-'
%left '*' '/'
%nonassoc UMINUS
%type <dval> S
%type <dval> E
%%
S : ID '=' E {printf(" x = %sn",$$);}
;
E : ID {}
| E '+' E {n++;itoa(n,n1,10);printf(" %s = %s + %s ",p,$1,$3);strcpy($$,p);strcat($$,n1);}
| E '-' E {n++;itoa(n,n1,10);printf(" %s = %s – %s ",p,$1,$3);strcpy($$,p);strcat($$,n1);}
| E '*' E {n++;itoa(n,n1,10);printf(" %s …Run Code Online (Sandbox Code Playgroud) 可能的重复:
替代 itoa() 将整数转换为字符串 C++?
你如何在c++中将整数更改为字符串?
我想在 win32 MessageBox 中显示一个 int 值。我已经阅读了一些不同的方法来执行这个转换。有人可以为我提供一个很好的实现。
Win32 编程的新手,所以很容易:)
更新
所以这就是我到目前为止所拥有的。它有效......但文本看起来像中文或其他一些双字节字符。我不是在探索 Unicode 与非 Unicode 类型。有人可以帮助我了解我哪里出错了吗?
int volumeLevel = 6;
std::stringstream os;
os<<volumeLevel;
std::string intString = os.str();
MessageBox(plugin.hwndParent,(LPCTSTR)intString.c_str(), L"", MB_OK);
Run Code Online (Sandbox Code Playgroud) 在Java中,字符串具有一个charAt()功能.
在C++中,该功能很简单 stringname[INDEX]
但是,如果我想在整数的某个索引处使用特定数字,该怎么办?
例如
int value = 9123;
Run Code Online (Sandbox Code Playgroud)
假设我想使用索引0,这只是9.
有没有办法在整数中使用索引?
我是 Windows 上的 C++ 新手。你能告诉我如何转换unsigned int为TCHAR *吗?
我正在使用itoa内置函数,以便将整数转换为二进制并将其存储在char*中.每件事情都很好,输出也是正确的(正如预期的那样).唯一出错的是itoa不能像Linux那样在开源上工作.有关在开源环境中使用itoa的任何建议.
必须有一个简单的方法来做到这一点......
// C# code
for (int i = 0; i < 20; i++)
doSomething(i.ToString() + "_file.bmp");
Run Code Online (Sandbox Code Playgroud)
我试图用C++做这件事,但事实证明,最简单的事情是用这种语言最难做到的.主要是因为有一个问题:我被限制在一个只接受char*函数参数的库中,这个函数最终会被终结,所以我几乎不再使用char数组了.这是我到目前为止:
char* path[12];
for(int i = 0; i < 20; i++)
{
sprintf(path[0],"%i_Card.bmp",i);
cards[i] = new Card(i,path[0]);
}
Run Code Online (Sandbox Code Playgroud)
问题是,这种方法最终导致了一个大而长的无用字符串.
我必须透露这是针对学校作业的,但回答这个问题不会决定我的成绩,它只会使应用程序的一个方面更容易一些.
可能重复:
替换itoa()将整数转换为字符串C++?
如何在C++中将数字转换为字符串,反之亦然
将int附加到std :: string
我想将整数转换为字符串,任何一个帮助我进行这些转换?
itoa(*data->userid,buff1,10);
itoa(*data->userphone,buff2,10);
Run Code Online (Sandbox Code Playgroud)