Есть код на C++:
#include <iostream>
#include <fstream>
#define CL 8
using namespace std;
int main(int argc, char *argv[])
{
int numeric[CL]={1,2,3,4,5,6,7,8}, field[CL][CL], i, j, StoreNum, StoreChar, cSN, cSC;
char character[CL]={'a','b','c','d','e','f','g','h'};
string SetPosition,tmp_var[6];
ifstream in(«input.txt»);
in >> SetPosition;
cout << SetPosition[0] << SetPosition[1] << endl << endl;
for(i=0;i<CL;i++)
{
if(character[i]==SetPosition[0]) StoreChar=i;
if(numeric[i]==SetPosition[1]) StoreNum=i;
}
cSN=StoreNum+2; cSC=StoreChar+1;
if(cSC < 8 && cSC >=0 && cSN < 8 && cSN >=0) tmp_var[0]=character[cSC]+numeric[cSN];
cout << «\n\nPosition: » << StoreChar << "..." << StoreNum << ", pos: " << character[cSC]<<numeric[cSN] << endl;
system(«PAUSE»);
return EXIT_SUCCESS;
}
В input.txt лежит «e2». StoreNum выводится значение -1207959368 и после этого прога успешно сегфолтится. Если int numeric[CL] делаю '1','2',...,'8', то значение StorNum присваивается нужное, но сравниваются потом коды символов. В общем, как сравнить int с char я знаю, подскажите, пожалуйста, как сделать, чтобы не сегфолтило при int ;)
mingw