C++ 从int到char*不带字符串,使用fstream时不方便
我需要“家庭作业”方面的帮助。我无法使用此代码,因为我无法将int转换为*char。最大的问题是我不能使用字符串。代码如下: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);
//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;
}