当前位置: 技术问答>linux和unix
★★★★★困惑已久的数串转换问题,编程大佬请进★★★★★
来源: 互联网 发布时间:2015-06-06
本文导语: 1、在GCC中,如何把一个long long型的64位整型值转换为一个字符串,又如何把一个数字型的字符串转换为一个long long型的64位整型值呢?? 2、在使用GCC编译时,GCC filename.cpp 和 G++ filename.cpp有何区别? | ...
1、在GCC中,如何把一个long long型的64位整型值转换为一个字符串,又如何把一个数字型的字符串转换为一个long long型的64位整型值呢??
2、在使用GCC编译时,GCC filename.cpp 和 G++ filename.cpp有何区别?
|
从long long到char*用sprintf();
从char*到long long用strtoll();
gcc是编译C程序的,g++才是编译C++程序的。
从char*到long long用strtoll();
gcc是编译C程序的,g++才是编译C++程序的。
|
sprintf和sscanf都可以。
或者用string转换系列函数,包括strtol、strtoll、atoi...
或者用string转换系列函数,包括strtol、strtoll、atoi...
|
从long long到char*用sprintf();
从char*到long long用strtoll();
gcc 不可以编译c++程序,g++可以编译他是对gcc的扩充。
从char*到long long用strtoll();
gcc 不可以编译c++程序,g++可以编译他是对gcc的扩充。
|
用sprintf可以将任何数据类型转换成字符串.
sprintf(str,"%lld",llvar);
从字符串转换成long long的话有些编译器提供long long atoll(char *),gcc是否气功不太清楚。如果不提供的可以自己写一个:
long long atoll(char *pStr)
{
int sign=1;
long long llVar=0;
if(*pStr=='-')
{
pStr++;
sign=-1;
}
else if(*pStr=='+')
pStr++;
while(*pStr!='' && *pStr>='0' && *pStr
sprintf(str,"%lld",llvar);
从字符串转换成long long的话有些编译器提供long long atoll(char *),gcc是否气功不太清楚。如果不提供的可以自己写一个:
long long atoll(char *pStr)
{
int sign=1;
long long llVar=0;
if(*pStr=='-')
{
pStr++;
sign=-1;
}
else if(*pStr=='+')
pStr++;
while(*pStr!='' && *pStr>='0' && *pStr