comando de eco usando c ++
Frecuentes
Visto 18,950 veces
2
Quiero emitir el comando echo dentro de un archivo c++.
Todo lo que necesito hacer es
echo "xml::/var/algun.xml" >> /var/config
En el archivo C++, probé,
system("echo" + "xml::/var/some.xml" +">> /var/config");
Pero lanza operandos inválidos de tipos const char[6] y const char[46] al operador binario +.
Necesitar ayuda
3 Respuestas
2
Supongo que este es uno en el que puede salirse con la suya con "can has codez?":
#include <iostream>
#include <iterator>
#include <algorithm>
int main(int argc, char **argv) {
std::copy(argv+1, argv+argc, std::ostream_iterator<char *>(std::cout, ""));
return 0;
}
contestado el 03 de mayo de 12 a las 19:05
1
Puede generar los datos usted mismo utilizando los métodos de stdio fopen
/fputs
/etc..
contestado el 03 de mayo de 12 a las 19:05
Dado que está etiquetado como C++, ¿por qué recomendaría fopen
, fputs
, ¿etc? - ataúd de jerry
-2
Trata
#include <string>
system(std::string("echo" + "xml::/var/some.xml" +">> /var/config").cstr())
está pasando cadenas de caracteres sin procesar que no admiten el operador +, así que intente usar std::string en su lugar.
contestado el 03 de mayo de 12 a las 19:05
Y todavía estás tratando de aplicar operator+
a cadenas de caracteres en bruto. además escribiste mal .c_str()
. - Robᵩ
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c++ echo or haz tu propia pregunta.
tus cuerdas son
const char *
no,std::string
.operator+
on strings funciona para cadenas C++. Sin embargo, ¿por qué está utilizando el sistema para hacer esto? Podrías simplemente abrir/var/config
en el código y anexarlo. - 逆さま¿Por qué no simplemente escribir en un archivo en C++? - Flexo
Parece que tienes varios problemas aquí. En primer lugar, puedo ver que te falta un espacio después de la palabra
echo
. ¿Por qué no hacer que funcione primero con una cadena regular para que solo resuelva un problema a la vez? ¿Y por qué no usar simplementecout
orprintf
o escribir en el archivo directamente? - Jonathan Wood