精华内容
下载资源
问答
  • itoa是广泛使用的非标准C语言和C++语言扩展功能。但因为它是一个非标准的C / C++语言功能,因此不能好好的被所有编译器使用。在大多数Windows下的编译器通常在头文件包含非标准函数。 解决方案: 1.使用sprintf代替 2...

    itoa是广泛使用的非标准C语言和C++语言扩展功能。但因为它是一个非标准的C / C++语言功能,因此不能好好的被所有编译器使用。在大多数Windows下的编译器通常在头文件包含非标准函数。
    解决方案:
    1.使用sprintf代替
    2.实现itoa

    举例:sprintf

    int main()
    {
    	char arr[10];
    	int a=123;
    	sprintf(arr,"%d",a);
    	cout<<arr<<endl;
    }
    

    itoa函数源代码

    #include <stdlib.h> 
    #include <stdio.h> 
    char *myitoa(int num,char *str,int radix);
    int main() 
    { 
    	int number = -123456; 
    	char string[25]; 
    	myitoa(number, string, 16); 
    	printf("integer = %d string = %s\n", number, string); 
    	return 0; 
    } 
    /* 实现itoa函数的源码 */ 
    char *myitoa(int num,char *str,int radix) 
    {  
    	/* 索引表 */ 
    	char index[]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
    	unsigned unum; /* 中间变量 */ 
    	int i=0,j,k; 
    	/* 确定unum的值 */ 
    	if(radix==10&&num<0) /* 十进制负数 */ 
    	{ 
    		unum=(unsigned)-num; 
    		str[i++]='-'; 
    	} 
    	else unum=(unsigned)num; /* 其它情况 */ 
    	/* 逆序 */ 
    	do  
    	{ 
    		str[i++]=index[unum%(unsigned)radix]; 
    		unum/=radix; 
    	}while(unum); 
    	str[i]='\0'; 
    	/* 转换 */ 
    	if(str[0]=='-') k=1; /* 十进制负数 */ 
    	else k=0; 
    	/* 将原来的“/2”改为“/2.0”,保证当num在16~255之间,radix等于16时,也能得到正确结果 */ 
    	char temp; 
    	for(j=k;j<=(i-k-1)/2.0;j++) 
    	{ 
    		temp=str[j]; 
    		str[j]=str[i-j-1]; 
    		str[i-j-1]=temp; 
    	} 
    	return str; 
    } 
    
    展开全文
  • VS2017 C++ 在用到 itoa 时 遇到如下报错 'itoa': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _itoa. See online help for details. 经过研究查找后,是这样...

    VS2017 C++ 在用到 itoa 时 遇到如下报错

    
    'itoa': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _itoa. See online help for details.
    

    经过研究查找后,是这样解决的:

    打开 项目属性 -> c/c++ -> 预处理器 -> 预处理器定义 -> 编辑
    输入如下两句:

    _CRT_NONSTDC_NO_DEPRECATE
    _CRT_SECURE_NO_WARNINGS
    

    应用保存后重新编译即可。

    结束:

    分享也是自己对问题再次加深理解的方式,可能不全面,但绝对有用,后面将不断完善~

    展开全文
  • VS2010工程,代码里面使用到了strcpy_s,_itoa_s这类带s的方法,运行时报错,执行到_debugger_hook_dummy = 0; 运行库是 多线程(/MT)。百度了下,别人是使用不带s的函数才会报这种错,我这边刚好和别人相反。
  • itoa函数

    2018-03-08 12:53:34
    昨天在做 acm的时候,使用 itoa函数将数字转成二进制string,在vs里运行通过但是vjudge(选用了 g++)提交了以后编译器却无法识别。 结论: itoa函数并不是标准库函数,在linux下的g++ ...所以编译器会报错。...

    昨天在做 acm的时候,使用 itoa函数将数字转成二进制string,在vs里运行通过但是vjudge(选用了 g++)提交了以后编译器却无法识别。

    结论:

    itoa函数并不是标准库函数,在linux下的g++ 编译器并不支持itoa函数。所以编译器会报错。

    展开全文
  • 清理过期协程报错

    2021-01-11 18:18:26
    fmt.Println(strconv.Itoa(i)) return nil }) } for{ pool.Submit( func() error { time.Sleep(10 * time.Millisecond) return nil }) time.Sleep(1 * time.Millisecond) } } </code></pre>该提问来源...
  • 在VS2017中使用itoa()函数进行编译时,会产生如下报错信息,“The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _itoa. ”。该报错信息为“POSIX命名方式不推荐使用,...

    1 错误

    在VS2017中使用itoa()函数进行编译时,会产生如下报错信息,“The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _itoa. ”。该报错信息为“POSIX命名方式不推荐使用,推荐使用ISO C和C++的函数名itoa”。就是说,itoa()是采用POSIX方式命名的,而_itoa()是采用ISO C方式命名的。

    2 原因

    POSIX

    POSIX的全称是Protable Operating System Interface of UNIX,即可移植操作系统接口。POSIX详细描述了一些函数,这些函数是在C标准库之外定义的,这些函数只能被部分的编译器所支持。

    ANSI C

    ANSI的全称是American National Standards Institute即美国国家标准协会。ANSI C则是ANSI对C语言发布的标准。使用C的软件开发者被鼓励遵循ANSI C文档的要求,因为它鼓励使用跨平台的代码。

    ANSIC现在被几乎所有广泛使用的编译器支持。现在多数C代码是在ANSI C基础上写的。任何仅仅使用标准C并且没有任何硬件依赖假设的代码实际上能保证在任何平台上用遵循C标准的编译器编译成功。

    不使用POSIX

    从VC++2005文档中提到,微软不再支持传统的POSIX方式命名的C语言函数,取而代之的是在其函数名前加入下划线的函数名,即ANSI C方式命名的函数。

    3 解决方法

    基本的解决方法就是如提示信息中说的那样,使用ANSI C方式命名的函数来替代POSIX方式命名的函数。如果必须要使用POSIX方式命名的函数,可以通过修改项目的属性来实现。
    在VS2017中选择“项目->XXX属性”,打开属性页。之后在左侧的树中选择“配置属性->C/C+±>预处理器”,如图1所示。
    在这里插入图片描述
    在右侧的“预处理器定义”栏中选择“编辑”,如图2所示。
    在这里插入图片描述
    最后,在弹出的预处理器定义的对话框中,输入“_CRT_NONSTDC_NO_DEPRECATE”和“
    _CRT_SECURE_NO_WARNINGS”,分别表示使用非标准函数和不弹出警告,最后点击“确定”按键,如图3所示。
    在这里插入图片描述
    此时,就可以在程序中使用itoa()函数了。

    展开全文
  • 在VS2013下如果使用itoa的话,会经常出现以下这种情况,对于这种报错,真的很无奈啊,查了好久呢 发现改为_itoa也是不行,真的很生气呢。。。。。。。 查了网上的好多解决方案,才知道要改成_itoa_s,这样就好了,...
  • 关于itoa函数使用到时候犯的错误

    千次阅读 2012-12-05 17:22:36
    函数原型:char* itoa(int value, char* buf, int radix);value:要转换的参数buf:转换后存储的空间radix:按radix进制转换在使用的时候... //将a==1按10进制转换后存入temp结果报错信息:Run-Time Check 
  • <p>#include<graphics.h> #include<conio.h> #include<vector> using namespace std; const short SCR_WIDTH=500; const short SCR_HEIGHT=...--...
  • _itoa_s(rankscore[i], str, 10); SelectObject(m_cacheDC,CreateFont(50,0,0,0,1000,false,false,false, CHINESEBIG5_CHARSET,OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS,DEFAULT_QUALITY,...
  • _就报错了error C2664: “char *itoa(int,char *,int)”: 无法将参数 2 从“const wchar_t [4]”转换为“char *” 我改变那个字符集,又会有新的其他错误出来。 哎,小白求解答,有没有推荐的文章将这些啥啥间的...
  • itoa函数在vs环境下一定要用_itoa_s表达,同时输出函数请使用cout,使用printf会疯狂报错:printf”: 格式字符串“%s”需要类型“char *”的参数,但可变参数 1 拥有了类型“errno_t” 暂无解决办法 只好把printf...
  • 1、报错详情 2、在写fabric go智能合约发送的错误,像我这样的新手就是踩坑踩坑踩坑 3、下面是代码片段 4、研究了一下append用法、也看了下GO语言官网文章: var test_str []string test_str = append...
  • MFC中整型与字符型的相互转换

    千次阅读 2008-05-30 15:34:00
    在MFC使用中发现在有GetWindowText存在下,整型和字符型转换用atoi和itoa报错,最后要用通用型,及字符型用TCHAR,转换函数用_ttoi和_itot和,但发现itot还是不能用,编译报错,最后用的是_itot_s,这可能是vs2005...
  • 在VS2015中使用itoa()函数进行编译时,会产生如下报错信息,“The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _itoa. ”。该报错信息为“POSIX命名方式不推荐使用,...
  • 之前写惯了C++,to_string()之类的写惯了,现在换成golang了好几次直接顺手atoi然后报错。不习惯规不习惯,总的来说把方法放到包里这个想法还是很ok的。 strconv.Itoa()和strconv.Atoi() Itoa实现了in...
  • 一个俄罗斯方块的小程序,报错部分代码如下: //显示分数信息 char string[5]; wColors[0]=FOREGROUND_RED| FOREGROUND_GREEN|FOREGROUND_INTENSITY; textout(handle,26+dx,5+dy,wColors,1,_itoa_s(score,...
  • CString转char*

    千次阅读 2006-07-08 00:54:00
    所以我做以下运算:_itoa(m_num3,(char *)((LPCTSTR)str),10)。不幸的是,当str的大小变化时,debug报错。错误的原因在于,当写入str的字符数发生变化时,会重新分配str所占空间,这时CString类内部的字符指针就...
  • gitlab相关

    2019-05-05 03:29:54
    gitlab配置文件 gitlab.rb external_url 'http://172.20.13.141'这里修改的是git clone git@172.20.13.141:itoa/xxx.git地址 gitlab备份与恢复 ...报错:could not connect to server: No such fil...
  • 我遇到这个问题的时候,搜出来的大多都是itoa或者atoi,但这是两个过时的函数,要么报错,要么转换完之后是很奇怪的数字。所以不如用以下的方法: 1、int转换成char int a;char b; b = '0' + a; 2、char转换成...
  • 题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 ...//报错~~~ /*必须这样*/ char* res=new char[s.size()+1]; strncpy(res,s.c_str(),s.size());  牛客不能用itoa,得自己写 /* struct...
  • 这句就报错了情况如下! ![图片说明](https://img-ask.csdn.net/upload/201602/03/1454503863_73267.jpg) [图片说明](https://img-ask.csdn.net/upload/201602/03/1454503807_150059.png) 求大神帮助
  • 如果我用itoa()这个函数要怎么用啊,我用了它报错,说不合函数调用规则 我结果用c=(char)(a+48)+"A"+(char)(b+48)+"B"; 把这个问题解决了,可是,这个方法不好,如果a,b不是个位数的话,又要改代码了
  • !... ... ... bitmap, err := walk.NewBitmapFromFile("qrcode/qr_"+strconv.Itoa(i)+".jpg") ... log.Println("qrcode/...这是报错信息 ![图片说明](https://img-ask.csdn.net/upload/201912/24/1577177949_302636.png)
  • 我用的是dll, 一个进程WriteFileMap写入,另一个进程ReadFileMap,WriteFileMap每写入一次内存就增加大概1兆,知道报错〖8〗-存储空间不足,无法处理此命令。求大神,是不是哪里写的有问题 MT4_EXPFUNC wchar_t* __...
  • 这里就是报错内容了 直接两个类相等都没问题,为什么进行重载后的+运算会出错呢?。。。 .cpp ``` #include "bds.h" #include #include using namespace std; bds::bds(){ p = new char[80]; x1 = 0...
  • 你必须知道的495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    6.18 当我向一个接受指针的指针的函数传入二维数组的时候,编译器报错了。 6.19 我怎样编写接受编译时宽度未知的二维数组的函数? 6.20 我怎样在函数参数传递时混用静态和动态多维数组? 数组的大小 6.21 当...

空空如也

空空如也

1 2
收藏数 38
精华内容 15
关键字:

itoa报错