Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从int到char*不带字符串,使用fstream时不方便_C++_Char_Int_Ofstream - Fatal编程技术网

C++ 从int到char*不带字符串,使用fstream时不方便

C++ 从int到char*不带字符串,使用fstream时不方便,c++,char,int,ofstream,C++,Char,Int,Ofstream,我需要“家庭作业”方面的帮助。我无法使用此代码,因为我无法将int转换为*char。最大的问题是我不能使用字符串。代码如下: //This is in a class void Interfaz::guardarFCS() { char *nombreArchivo = vent.pedirTxt("por favor inserte un nombre para el archivo"); exportar.setFileName(nombreArchivo,2);

我需要“家庭作业”方面的帮助。我无法使用此代码,因为我无法将int转换为*char。最大的问题是我不能使用字符串。代码如下:

//This is in a class

void Interfaz::guardarFCS() {
    char *nombreArchivo = vent.pedirTxt("por favor inserte un nombre para el archivo");
    exportar.setFileName(nombreArchivo,2);
    int ancho = elMapa.getterAncho();
    int alto = elMapa.getterAlto();
    int estadoCasilla;
    int l;
    int k;
    for( l = 0; l<ancho; l++) {
        for( k = 0; k<alto; k++) {
            estadoCasilla = elMapa.casillaMapaInt(l,k);
            if(estadoCasilla==1) {
                exportar.escribir("[");
                exportar.escribir(l);
                exportar.escribir("],[");
                exportar.escribir(k);
                exportar.escribir("]\n");
            }
        }
    }
}
使其工作的唯一方法是为每个方法创建一个新变量,因为问题将是在类作用域中为非成员使用类声明,如果我不使用std::另一个错误将是arraise,名为'ofstream',不命名类型。
不管是哪种方式,至少可以阅读我的代码。欢迎您提出任何建议

我不完全明白您的要求,但这应该有效:

void Exportador::escribir(int i)
{
     char convertedToText[10] = {0};
     // convert to text, this is the exericse 
     //   (use 
     //       - while loop, 
     //       - i=i/10 and 
     //       - i%10)
     // don't forget to null-terminate

     archivoIn << convertedToText;
}
void Exportador::escribir(int i)
{
char convertedToText[10]={0};
//转换为文本,这是练习
//(使用
//-虽然循环,
//-i=i/10和
//-i%10)
//别忘了空终止

StackOverflow上的archivoIn现在很少有人会理解
cargar
guardarFcs
的意思。我确实认为
archivoIn
可能应该被命名为
Archivout
?换句话说,命名很重要,请在SOI上发布英文代码。我并不真正理解你的问题。你只需要一个函数来转换int到char*而不使用字符串或ostream?或者我还缺少什么吗?为什么每个方法都要使用新变量?这是我认为没有意义的部分。另外,你说
escribir
只是一个ostream,但你把它当作一个方法来使用,所以它不可能。试着编辑你的答案以便更清楚,也许吧然后我可以帮你。你的问题让人困惑,我不明白实际的问题是什么。如果你能把问题编辑清楚,也许会有帮助。将西班牙语名称改成英语作为代码会更好,因为非西班牙语使用者更容易理解你的代码。
archivoIn@J.F.Sebastian:我认为转换是homew我同意这不清楚,不管怎样。。。
void Exportador::escribir(int i)
{
     char convertedToText[10] = {0};
     // convert to text, this is the exericse 
     //   (use 
     //       - while loop, 
     //       - i=i/10 and 
     //       - i%10)
     // don't forget to null-terminate

     archivoIn << convertedToText;
}