关闭

C/C++文件夹 的操作

标签: 字体dos
606人阅读 评论(0) 收藏 举报
分类:

通过system();函数调用DOS命令来创建文件夹和删除文件、文件夹。创建文件可以用其文件操作实现。 

头文件在stdlib.h或者process.h

system("md c:\\mydir");//创建一个文件夹 
system("rd c:\\mydir");//删除一个文件夹 
system("del c:\\test\\myfile.dat");//删除一个文件。


标准C++本身不能创建文件夹,但不同编译器本身对这个功能都做了扩展,VC使用 _mkdir("mydir")函数来创建

(#include <direct.h>),TC使用mkdir("mydir")来创建(#include <dir.h>)。 
如果只是创建文件夹,还可以利用system("md mydir")函数来解决;

摘自MSDN:

Creates a new directory.

int _mkdir( const char *dirname );

int _wmkdir(const wchar_t *dirname );

Parameters
dirname
Path for a new directory

Return Value
Each of these functions returns the value 0 if the new directory was created. On an error, the function returns –1 and sets errno as follows.

EEXIST
Directory was not created because dirname is the name of an existing file, directory, or device.

ENOENT
Path was not found.

For more information about these and other return codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.

Remarks
The _mkdir function creates a new directory with the specified dirname. _mkdir can create only one new directory per call, so only the last component of dirname can name a new directory. _mkdir does not translate path delimiters. In Windows NT, both the backslash ( \) and the forward slash (/ ) are valid path delimiters in character strings in run-time routines.

_wmkdir is a wide-character version of _mkdir; the dirname argument to _wmkdir is a wide-character string. _wmkdir and _mkdir behave identically otherwise.


Example
// crt_makedir.c

#include <direct.h>
#include <stdlib.h>
#include <stdio.h>

int main( void )
{
   if( _mkdir( "\\testtmp" ) == 0 )
   {
      printf( "Directory '\\testtmp' was successfully created\n" );
      system( "dir \\testtmp" );
      if( _rmdir( "\\testtmp" ) == 0 )
        printf( "Directory '\\testtmp' was successfully removed\n"  );
      else
         printf( "Problem removing directory '\\testtmp'\n" );
   }
   else
      printf( "Problem creating directory '\\testtmp'\n" );
}

Sample Output
Directory '\testtmp' was successfully created
 Volume in drive C has no label.
 Volume Serial Number is E078-087A

 Directory of C:\testtmp

02/12/2002  09:56a      <DIR>          .
02/12/2002  09:56a      <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  15,498,690,560 bytes free
Directory '\testtmp' was successfully removed

对文件的删除:C++ 也有 

#include <stdio.h> 
void main( void ) 

{ 

if( remove( "remove.obj" ) == -1 ) 

perror( "Could not delete 'REMOVE.OBJ'" ); 

else 

printf( "Deleted 'REMOVE.OBJ'\n" ); 

}

添加内容:

注意问题:再写目录的时候要注意E:\\123.txt(两条反斜杠),再者我是直接在e盘文件建立一个命名为123.txt的文件,这里有个问题。在我的电脑里面,若代码为system("del E:\\123.txt");这是无法删除成功的。

原因在于:对于这个文件系统是隐藏其后缀文件格式的,它的全名应为123.txt.txt.若改为这样即可成功


    system("cd.>E:\\123.txt");//建立一个空文件
	system("del E:\\123.txt");//删除文件





0
0
查看评论

C++遍历文件夹下的所有文件

数据分多个文件存储,读取数据就需要对多个文件进行操作。首先就需要定位到文件的名字,之后再对文件进行相应的读写操作。多次涉及多文件的读写操作,现将这个实现总结一下,方便自己和他人使用。具体代码如下: #include "stdafx.h" #include #include #i...
  • IDMer
  • IDMer
  • 2016-12-08 20:58
  • 7079

C/C++创建和删除文件夹操作(对单个文件夹进行操作)

下面给出创建单个文件夹的方法,每一种方法后面都紧跟着对应的删除文件夹的方法 1. 调用Windows API函数 CreateDirectory()和 RemoveDirectory(),成功返回0,否则返回非零。 头文件 创建:CreateDirectory() #incl...
  • weixin_36340947
  • weixin_36340947
  • 2017-09-11 20:45
  • 283

c++ 标准库 文件夹(文件目录)操作

很遗憾C/C++标准库是没有完善的文件系统支持的。而网上很多人说io.h头文件是标准库的很让人无语。然后去查了一下C/C++的标准库,发现根本就没有这个头文件。而这个头文件是windows 的c 运行库中的头文件。至于为什么其中有的函数不是下划线开头的,是因为这些函数是 POSIX兼容系统 中有的函...
  • god_wen
  • god_wen
  • 2017-08-01 13:59
  • 425

C++ 对文件夹的操作

本篇博客转自:http://www.cnblogs.com/summerRQ/articles/2375749.html 本篇博客主要是讲述C++中怎样遍历文件夹里的内容,包括文件下的子文件夹的内容。 编写程序遍历文件夹及其子文件夹下所有文件,并输出到标准输出流或者文件流...
  • Sunshine_in_Moon
  • Sunshine_in_Moon
  • 2015-12-03 11:00
  • 1465

C语言中对文件夹的操作

由于公司需要一个小的软件完成一些任务,最近在写这个东东。写的过程中发现了很多问题,很多需要实现的功能。以前只知道有文件操作的函数,但我希望在硬盘创建文件夹,在打开文件时加上一个目录并不能实现,而是文件夹打开失败。后来发现了一个函数_mkdir(“需要创建的目录”)可以实现这个功能,当然头文件应该包含...
  • anda0109
  • anda0109
  • 2011-01-26 13:19
  • 10600

C/C++ 判断文件夹是否存在以及创建、删除文件夹 windows以及linux通用

参考: http://blog.csdn.net/tigerjibo/article/details/11712039 http://baike.baidu.com/subview/355/5900599.htm http://blog.sina.com.cn/s/blog_5db869d0010...
  • u012005313
  • u012005313
  • 2016-02-18 20:49
  • 27198

【C/C++】文件夹的打开、遍历、删除、创建、关闭操作汇总

转自:http://sodino.com/2015/03/09/c-directory-io/ 打开文件夹遍历文件夹下的内容 读取文件夹下的子文件(夹) 文件夹位置指针的操作 遍历、过滤文件夹下的子文件(夹) 文件夹关闭删除文件夹创建文件夹 需要用到的...
  • feixuedudiao
  • feixuedudiao
  • 2017-07-06 21:09
  • 455

Linux下C/C++ 目录和文件操作

学习Linux环境编程  读取文件和目录是很重要的环节,因为Linux环境下  "一切皆文件"     首先得明白文件描述符的概念,每一个进程都会默认打开标准输入,标准输出,标准出错 下面这个案列很好的解释文件描述符的概念   &...
  • szqsdq
  • szqsdq
  • 2015-09-10 13:50
  • 1782

【C/C++】string操作方法汇总

本文提供【C/C++】string操作方法汇总如下:原文地址:http://sodino.com/2015/02/04/c-string-operate/判断内容是否相同字符串复制字符串拼接字符串拼接单个char字符串类别检查字符串子串截取 (substring)字符串界位符切割 (strtok s...
  • sodino
  • sodino
  • 2015-03-04 20:22
  • 5648

C/C++遍历文件夹和文件

本方法可用于windows和linux双平台,采用C/C++标准库函数。   库函数 包含头文件 #include 用到数据结构_finddata_t,文件信息结构体的指针。 struct _finddata_t { unsigned attrib; //文...
  • u012234115
  • u012234115
  • 2015-02-05 19:42
  • 6849
    个人资料
    • 访问:84983次
    • 积分:1635
    • 等级:
    • 排名:千里之外
    • 原创:78篇
    • 转载:16篇
    • 译文:0篇
    • 评论:8条
    最新评论