atoi em uma matriz de caracteres com muitos números inteiros

Eu tenho um código no qual a matriz de caracteres é preenchida por números inteiros (convertida em matrizes de caracteres) e lida por outra função que a converte novamente em números inteiros. Eu usei a seguinte função para obter a conversão em array de caracteres:

char data[64];
int a = 10;
std::string str = boost::lexical_cast<std::string>(a);
memcpy(data + 8*k,str.c_str(),sizeof(str.c_str()));   //k varies from 0 to 7

e a reconversão de volta aos caracteres é feita usando:

char temp[8];
memcpy(temp,data+8*k,8);
int a = atoi(temp);

Isso funciona bem em geral, mas quando tento fazê-lo como parte de um projeto que envolve o qt (versão 4.7), ele compila bem e gera falhas de segmentação quando tenta ler usando o memcpy (). Observe que a falha de segmentação ocorre apenas enquanto estiver no loop de leitura e não durante a gravação de dados. Não sei por que isso acontece, mas quero fazê-lo por qualquer métod

Então, existem outras funções que posso usar, que podem incluir a matriz de caracteres, o primeiro e o último bits e convertê-lo em número inteiro. Então eu não precisaria usar o memcpy (). O que estou tentando fazer é algo como isto:

new_atoi(data,8*k,8*(k+1)); // k varies from 0 to 7

Desde já, obrigado

questionAnswers(2)

yourAnswerToTheQuestion