问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux中C++怎样在当前目录创建一个文件

发布网友 发布时间:2022-04-23 13:29

我来回答

1个回答

热心网友 时间:2022-05-26 10:49

#include <stdio.h>  
#include <string.h>  
#include <stdlib.h>  
#include <sys/stat.h>  
#include <unistd.h>  
#include <sys/types.h>  
#include <errno.h>  
  
#define MAX_DIRPATH_LEN 512  
#define DEFAULT_DIRPATH "Hello world"  
  
static char dirpath[MAX_DIRPATH_LEN];  
  
//没有用到这段程序,不过如果想创建一个文件名的完整路径可以执行这个函数  
const char* filename_to_full_path(char* filename)  
{  
    static char buf[1024];  
    sprintf(buf, "%s/%s", dirpath, filename);  
    return buf;  
}  
  
int main (int argc , char** argv)  
{  
    struct stat file_stat;  
    int ret;  
  
    //下面语句是建立默认文件夹的路径  
    strncpy(dirpath, getenv("HOME"), MAX_DIRPATH_LEN);//默认的路径为home  
    dirpath[ strlen(dirpath) ] = '/';//添加分隔符  
    strncpy(dirpath + strlen(dirpath), DEFAULT_DIRPATH, MAX_DIRPATH_LEN - strlen(dirpath));//默认的文件夹  
  
    argc--;  
  
    if(argc)  
    {  
        if(!argv[1])  
        {  
            printf("the argument is invalue!\n");  
            return -1;  
        }  
        strcpy(dirpath, argv[1]);//运行程序时可以输入自己想创建的文件夹的完整路径  
    }  
      
    ret = stat(dirpath, &file_stat);//检查文件夹状态  
    if(ret<0)  
    {  
        if(errno == ENOENT)//是否已经存在该文件夹  
        {  
            ret = mkdir(dirpath, 0775);//创建文件夹  
            printf("creat dir '/%s'/\n", dirpath);  
            if(ret < 0)  
            {  
                printf("Could not create directory \'%s\' \n",  
                    dirpath);  
                return EXIT_FAILURE;  
            }  
  
        }  
        else  
        {  
            printf("bad file path\n");  
            return EXIT_FAILURE;  
        }  
    }  
  
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
派出所能监听个人手机吗 ...富士康IDPBG事业群,请教一下该事业群有哪些岗位?具体分别是做什么的... 富士康aw制造是做什么的公司 业成部门生产课是做什么的 小米官网上面怎么查物流? 小米昨天下午就显示配货了怎么还不出库啊?我后面买的配件都出库了,我深... VB.net2008实例 编写文字加解密程序介绍_VB.net2008实例 编写文字加解 ... 简单的vb加密解密问题,不用输入密码的 赛车驾照价格是怎样的? Excel函数操作题第16套 linux如何操作在属主目录下建立目录MyWord来存放我的文档,我创建了一个... radhatLinux中在用户家目录中创建5个文件怎样操作 怎样在WORD中做饼形图统计? Excel饼状图怎么让几块在一起分离?求大神指点 excel表格中如何把饼状图分出去一部分 可视化管理,一个饼状图代表部门,这个饼应该怎么划分?里面都应该放些什么内容? 如何使word饼状图表划分更多扇面? ppt里的饼状图怎么分区域分比例? excel中饼状图图例如何分栏? word2003饼形图怎么把四个区域变成五个 简述电子商务的运作过程? 简述B2B电子商务的交易流程? 电子商务的一般流程有几种 电子商务的工作流程? 电子商务交易模式和交易流程 电子商务的一般交易过程是什么? 电子商务流程涉及到哪些技术? 网上交易市场模式的基本流程步骤是什么?(电子商务) 做电子商务全部流程是什么? 电子商务的运作流程 linux问题:进入到&#47;media目录,创建一个文件newfile,并在当前目录下为newfile_百度问一问 农村信用社扶贫贷款怎么办理 精准扶贫贷款怎么还款 扶贫贷款的办理流程是怎样的? 扶贫贷款怎么还款 如何申请扶贫贷款 扶贫贷款怎么还 中国农业银行k宝是什么东西? 农业银行通用k宝是什么作用? 银行k宝是什么东西 农行的通用K宝是什么? 农业银行的k宝是什么 农行K宝是什么 农行K宝是什么? 农业银行卡的k宝是什么 农业银行的k宝怎么办理? 农行的“k宝”和“k令”的区别是什么? 申请农行k宝需要什么条件 急性化脓性扁桃体炎只发作了一边 另一边也会发作吗? 左边扁桃体发炎 右边化脓但不痛是怎么回事?