Vale, ya lo he conseguido:
void createFile(vector<vector<bool>> matriz) {
ofstream fs("prueba.txt");
string texto = "";
// Declaración de constantes
for (int i = 0; i < matriz.size(); i++) {
for (int j = 0; j < matriz.size(); j++)
texto = texto + "(declare-const " + "p_" + (char)i + "_" + (char)j + " Bool) \n";
texto = texto + "\n";
}
fs << texto;
fs.close();
}
Aunque ahora tengo otro problema: ¿Por qué cuando fuerzo que 'i' y 'j' sean de tipo
char no me escribe nada en el fichero? Me debería escribir lo que vale 'i' y 'j' (el número en sí), pero no escribe nada. Este es el resultado en el fichero:
(declare-const p__ Bool)
(declare-const p__ Bool)
(declare-const p__ Bool)
(declare-const p__ Bool)
(declare-const p__ Bool)
Y debería ser este el resultado:
(declare-const p_1_1 Bool)
(declare-const p_1_2 Bool)
(declare-const p_1_3 Bool)
(declare-const p_1_4 Bool)
(declare-const p_1_5 Bool)
Es más, no sé por qué este código tan tonto no me muestra el número:
int a = 32;
char c = (char)a;
cout << "number: " << c << endl;
¿Está mal hecha la conversión?