Obrigado irmão! Recebi uma resposta também em outro fórum que parece ser a explicação correta, rsrs... Mas enfim eu tentei ler como String: "Ele lê. O que acontece é que você está querendo que um zero à esquerda de um inteiro seja representado na string. Isso não acontece. Leia como string ao invés de ler como inteiro, se possível.
A resposta dada em no link do Clube do Hardware ("porque o número é octal") está errada por dois motivos: 1- Na base oito, os dígitos válidos vão de 0 a 7. Ou seja, seu '9' transforma esse número num dado inválido para a base octal. 2- %d lê inteiros na base 10. %o é que lê octal."
String^ leituraAutomatica={""};
arq = fopen("logDigitado.txt","a+");
fscanf(arq,"%s",leituraAutomatica) ; Ele não retorna nada apenas mantem o valor da sua declaração = ""; O que você acha que pode ser? Por que não retorna nenhum valor, por que não armazena nada na String^?? Eu estou achando por quê é String do VS C++ do pacote .NET e pode existir este conflito de c para c++. a string do C é std::string e a string do C++ é String^. Att.