hacer cosas con ficheros en c++

weno aparte de crear un fichero y todo eso con los flujos de salida y entrada queria saber como hacer las funciones tipicas de copiar borrar y cosas de estas.

He estado mirando por algunas web de programacion pero no encuentro nada concreto que me ayude por ejemplo a copiar un fichero de una ruta a otra.

edito: tambien crear y borrar directorios.
Pues no se si hay una funcion que copie directamente. Lo más logico parece leer de un flujo y escribir en otro.

Para borrar directorios unlink, para crearlos mkdir para borrarlos rmdir...

Te estoy hablando de C así que supongo que C++ será igual.

De lo que no me acuerdo de memoria es de la librería en la que estaba y me he olvidado el libro de programacion en linux en la uni.

Si nadie te contesta antes el lunes cuando recupere el libro te lo digo ;) ;)
estaba mirando... creo que podria o deberia haber una para directamente. lo de mkdir y rmdir tengo que meterle parametro de ruta supongo no?

no entiendo eso que pones de unlink.

otra cosa... estaba intentando crear un fichero html como uno de texto. pero resulta que cuando hago un flujo de salida y hay una barra entre dos pares de comillas el compilador no lo traga. lo he probado en el borland de win que es donde lo he hecho... alguien sabe si hay el mimso problema en linux con el gcc?
agradeceria que alguien que use otro metodo para crear ficheros me dijera que se hace exactamente.
Siempre puedes echar mando de dos ramas, las versiones para leer y escribir ficheros en C , fread y fwrite y las llamadas al sistema para escribir y leer write y read. Si lo que quieres es copiar, pues lees desde el fichero y escribes en el fichero destino con la ruta modificada a donde lo quieres copiar.
Yo en C y C++ nunca he visto ninguna función para copiar y demás ficheros.
Aunque lo que siempre podrás hacer es una llamada a un programa externo desde tu programa en C para que copie. Sería algo como: system("cp argumentos") .

Para lo que dices de los ficheros html , entiendo muy bien el problema pero me resulta extraño que te de un fallo en la compilación por los datos que metas en un argumento para escritura [tomaaa] .
Si te refieres a lo que es la llamada a la función , dentro de la ruta , funciona perfectamente poner "/lo k sea"

En fin, espero haber servido de algo [tomaaa]

Salu2
Lo mejor es que uses streams (flujos), pero si quieres usar las llamadas al sistema nativas (POSIX), las tienes en el man todas [ginyo]

Desde

man 2 open

Puedes ir al resto ;), están perfectamente explicadas:

Para meter en una cadena uno de los caracteres especiales (como \, otras comillas, etc), debes escaparlos. Escapar es poner un \ antes. (Ej: \", \\, etc). Lo que veo raro es que te de problemas con HTML, la barra de cierre es /, no \.
Todo esto que te estoy hablando creo que solo te va a servir en linux pero puedes probar...

A ver lo de los directorios:

#include
#include
#include
#include
int mkdir (const char *pathname, mode_t mode);
int rmdir (const char *pathname);

mode son los permisos

Lo de borrar

#include
int remove (const char *pathname);


De todos modos creo que hay una funcion int unlink(const char *pathname) que hace lo mismo y en win funciona. Te hablo de memoria
voy a aclara lo de la barra pa que si teneis un momento y ganas lo mireis... ya os digo que no lo he probado en gcc pero fllipo en win de que me mande a la porra:

#include

ofstream p;
p.open("ejemplo.html");
p<<""/"";

p.close();


no lo traga... me dice... illegal use of pointer.
pues bien señores... acabo de mirar con el gcc y me falla exactamente iwal, sin embargo con 5 comillas o 6 lo coge perfectamente al iwal que con "/", pero claro nos encontramos con que el html tiene un caracter " de mas.. que no me interesa.

PD: joer... siempre a malas con c XDXD
A ver si me entero yo XD

¿Lo que quieres poner es COMILLAS-BARRA-COMILLAS en el fichero?

Si es así, debes ponerlo de esta manera: ESCAPE-COMILLAS-BARRA-ESCAPE-COMILLAS, dentro de comillas también, es decir: "\"/\""
argh a ver no se si lo tuyo ultimo funciona pero voy a ponerlo tal cual lo puse a ver si ya nos aclaramosXDXD

p<<""<p<<"