将char数组转换为int数组C ++

Yad*_*azo 4 c++ arrays

我在将从文件读取的char数组转换为int数组时遇到问题。也许有人可以帮助我。这是我的代码:

char vectorPatron[67];
int iPatrones[67];
archivo = fopen("1_0.txt", "r");
for(i=0;i<67;i++){
    fscanf(archivo, "%c", &vectorPatron[i]);
    printf("%c",vectorPatron[i]);
}
fclose(archivo);
for(i=0;i<67;i++){
    iPatrones[i] = atoi(&vectorPatron[i]);
    printf("%d",iPatrones[i]);
}
Run Code Online (Sandbox Code Playgroud)

Jer*_*fin 5

尽管使用了某些C ++功能,但是您的大多数代码看起来都更像C。

struct to_int { 
    int operator()(char c) { return c - '0'; }
};

const int num = 67;
std::vector<char> patrons(num);
std::vector<int> patron_values(num);

std::ifstream archivo("1_0.txt");  
archivo.read(&patrons[0], num);

std::cout.write(&patrons[0], num);

std::transform(patrons.begin(), patrons.end(), patron_values.begin(), to_int());
std::copy(patron_values.begin(), patron_values.end(), 
          std::ostream_iterator<int>(std::cout, "\n"));
Run Code Online (Sandbox Code Playgroud)