【发布时间】:2013-11-09 04:57:59
【问题描述】:
我正在尝试在新目录中创建一个文件,但是我首先获取目录的路径,然后是文件名,但是当我尝试使用文件名创建目录时它失败了,因为我可以' t 将两个变量都添加到 mkdir mkdir (direccionarchivo,'/',nombrearchivo);
#include <iostream>
#include <fstream>
#include <io.h> // For access().
#include <sys/types.h> // For stat().
#include <sys/stat.h> // For stat().
#include <string>
using namespace std;
int main() {
char respuesta,salida,direccionarchivo[100],nombrearchivo[100];
salida = 'e';
do
{
cout << "Escoja donde desea crear el archivo de notas" << endl;
cout << "Recuerde poner todo el directorio donde desea que se cree el archivo." << endl;
cout << "Ejemplo: C:\\Users\\omartinr\\Desktop" << endl;
cin >> direccionarchivo;
if ( access( direccionarchivo, 0 ) == 0 )
{
struct stat status;
stat( direccionarchivo, &status );
if ( status.st_mode & S_IFDIR )
{
cout << "El directorio si existe" << endl;
}
else
{
cout << "Esta direccion es un archivo" << endl;
}
}
else
{
cout << "La direccion escrita no existe" << endl;
cout << "Desea que sea creada?(S/N)" << endl;
cin >> respuesta;
if (respuesta == 's' || respuesta == 'S')
{
salida = 'f';
}
}
}while(salida == 'e');
cout << "Escriba el nombre del archivo con su tipo" << endl;
cout << "Ejemplo: notas.txt" << endl;
cin >> nombrearchivo;
mkdir (direccionarchivo,'/',nombrearchivo);
return 0;
}
【问题讨论】:
-
确切的错误是什么?你到底想做什么?此外,从长远来看,用英语编码(即使 UI 是另一种语言)对您非常有益。 StackOverflow 更容易理解你的程序,而且它可能会帮助你的职业生涯......
-
如果你使用 std::string,你会发现这很容易(而且更不容易出错)。