。私がちょうどそれが起こったことに気付いたことの1つは、変換された数字が6記号より長いことです(またはそれは単なる偶然のことです)。C++ランダム0xc0000005でエラー
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
long n,sk,p,j;
string liekanos;
ifstream f("u1.txt");
f >> n;
for (int i=0;i<n;i++)
{
f >> sk >> p;
j=0;
while (sk>0)
{
liekanos[j]=sk % p;
sk/=p;
j++;
}
for (j>=0;j--;)
{
if (liekanos[j]<10)
cout<<int(liekanos[j]);
else cout<<char(liekanos[j]+55);
}
cout<<endl;
}
return 0;
}
例入力:あなたのliekanos
文字列は任意のサイズや容量を持っていないため
3
976421618 7
15835 24
2147483647 2
だけ知っているので、 '0xC0000005'は、アクセス違反(不正なポインタ)エラーです。これは、一般に、プログラム内のポインタ処理またはメモリ割り当てに欠陥があることを意味する。 – japreiss