アプリ版:「スタンプのみでお礼する」機能のリリースについて

数文字列に変換しますが
8バイト整数を10進数整数文字列に変換する関数はあるでしょうか?
また逆にatoiのように兆単位の10進整数整数文字列を8バイト整数に変換する関数はあるでしょうか?
OSは98seでコンパイラはBorland C++5.51を使っていてAPIやSTLなどでプログラミングしています

A 回答 (3件)

残念ながらBorland C++5.51にはないかもしれません。

C#では、Int64(64ビット整数)型があるそうです。構造体と言っていますので、結局のところ、4バイト整数2つをメンバとして持つ構造体と想像しています。
ならば、どこかの誰かが、同様のクラスを既に作成されているかもしれませんね。
    • good
    • 0
この回答へのお礼

ありがとうございます

以下で動きました

#include<iostream>
using namespace std;

void main(void)
{
__int64I,J,K,L,M,N;
chars[999];

I=_atoi64("9999999999999999");
cout<<I<<endl;
I=9999999999999999;
_i64toa(I,s,10);
cout<<s<<endl;
}

お礼日時:2004/08/31 03:07

8バイトということはlong long型ですね。


C++が標準でlong long型を規定しているか
(あるいはBorland C++が対応しているか)
は知らないですが、サポートしていれば、
atoll、lltoaが使えるのではないでしょうか。

数値から文字列の場合は、sprintfやsnprintfも使えると思います。

この回答への補足

ありがとうございます

#include<iostream>
#include<windows.h>
using namespace std;

void main(void)
{
stringstr,str0,str1;
inti,j,k,l,m,n;
intsum;
booleanb;
__int64I,J,K,L,M,N;

I=atoll("9999999999999999");
cout<<I<<endl;
}

でatollが未定義エラーになります

なにかヘッダがいるのでしょうか?

補足日時:2004/08/31 02:43
    • good
    • 0
この回答へのお礼

失礼しました
以下の間違いです

#include<iostream>
#include<windows.h>
using namespace std;

void main(void)
{
__int64 I,J,K,L,M,N;

I=atoll("9999999999999999");
cout<<I<<endl;
}

ともかくatollが未定義エラーです

お礼日時:2004/08/31 02:47

itoa,atoiに対応してltoa,atolがありませんか?

この回答への補足

ありがとうございます
atolとatoiは同じで4バイト用のようです
またltoaとitoaも同じようです
昔のDosやWin3.1ではないのでlong=intですね?

補足日時:2004/08/31 02:40
    • good
    • 0
この回答へのお礼

#include<iostream>
using namespace std;

void main(void)
{
__int64 I,J,K,L,M,N;
char s[999];

I=_atoi64("9999999999999999");
cout<<I<<endl;
I=9999999999999999;
_i64toa(I,s,10);
cout<<s<<endl;
}

で動きました!

お礼日時:2004/08/31 03:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!