gpt4 book ai didi

c++ - 从 int 到 char* 没有字符串,和 fstream 不方便

转载 作者:行者123 更新时间:2023-11-28 03:39:16 25 4
gpt4 key购买 nike

我在“作业”中需要帮助。我无法开始使用这段代码,因为我无法将 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");
}
}
}
}

其中 escribir 只是一个带有 <<whatIsSend 的流.在这里我不能创建一个 ofstream 变量

#ifndef Exportador_H
#define Exportador_H

class Exportador {

//variables
char fileName[255];
std::ofstream archivoIn;
public:

Exportador();
void setFileName(char*,int);
void cargar(char*);
void crear();
void escribir(char*);
void guardarFcs(Mapa);
~Exportador();

};
#endif

让它工作的唯一方法是为每个方法创建一个新变量,因为问题是在类范围内对非成员使用类声明,如果我不使用 std::另一个错误会称为“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;
}

我不会向您展示实际的转换(提示:itoa 如果您被允许使用它,可能就是您想要的),因为这会从家庭作业中删除练习

关于c++ - 从 int 到 char* 没有字符串,和 fstream 不方便,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9867468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com