
函数名: atoi
功 能: 把字符串转换成长整型数
用 法: #include <stdlibh>
int atoi(const char nptr);
程序例:
#include <stdlibh>
#include <stdioh>
int main(void)
{
int n;
char str = "1234";
n = atoi(str);
printf("string = %s integer = %d\n", str, n);
return 0;
}
运行结果是:
string =1234 integer=1234
如果我没理解错的话,你把CString类型的东西直接存入外部文件就是你要看到的数字了啊。。
你转换成为int之后,直接存到外部文件里的是那个int数所代表的ASCII码,自然很可能是乱码,你可以用格式化字符串的方法来转换,比如:
int ixx = 10;//是你要写入文件的int型变量
CString strTemp;//
strTempformat("%d", ixx);//
printf();//把strTemp写入文件就行
////////////////////////////////////////
//或者直接写
printf(fp, "%d", ixx);
C语言中,可以使用atoi函数将字符串转换为数字,如atoi("123")可以得到数字123。
atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中。int atoi(const char nptr) 函数会扫描参数 nptr字符串,会跳过前面的空白字符(例如空格,tab缩进)等。
如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回0。特别注意,该函数要求被转换的字符串是按十进制数理解的。atoi输入的字符串对应数字存在大小限制(与int类型大小有关),若其过大可能报错-1。
C语言中数字转化为字符串的方案:
使用sprintf函数来实现,如sprintf("%d", 123)可以得到字符串"123"。
sprintf指的是字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数。使用sprintf 对于写入buffer的字符数是没有限制的,这就存在了buffer溢出的可能性。解决这个问题,可以考虑使用 snprintf函数,该函数可对写入字符数做出限制。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)