C chdir函数
chdir微软官方文档
在制作小游戏时遇到的问题:图片音频等资源文件太多,和exe同一个目录不方便集中管理
整理方案1
首先创建了一个名为"resource"的文件夹,把程序执行过程中需要用到的外部文件都放进去
开始改造代码
- include头文件direct
#include <direct.h>
- 在主函数头部分添加chdir()
_chdir( "./resource" );
_chdir()用于跳转程序当前工作目录,类似
cd resource
它的原型声明是
_Check_return_ _CRTIMP int __cdecl _chdir(_In_z_ const char * _Path);
使用_getcwd()可以打印当前工作目录
printf("Current directory is %s\n", _getcwd(NULL,NULL));
重新生成项目,再次打开时exe可以读取resource文件夹内的内容
打包完成之后的项目
整理方案2
在上面的方案1中,dll和exe不在同一个目录,需要使用SetDllDirectory设置Dll目录
有一种比较偷懒的方法就是:将exe和dll整合在了一个bin文件夹
现在resource变成了exe的上一级目录
此时只需稍加改动即可
chdir( "../resource" ); /*加多一个点*/
总结
- 直接搜索chdir():定位到<unistd.h>实际上vs2010并没有这个头文件,#include <unistd.h>对于mingw来说是行的通的
但网上很多关于vs2010的回答(大部分是复读机)都在使用#ifndef指令include<io.h>和<process.h>,的确可以运行但编译器依旧报错,原因在于io.h和process.h同样没有定义chdir函数,chdir函数的定义在direct.h中 - 搜索程序设置工作目录:定位到vs调试设置,调试设置只是对于配置了开发环境的程序员是有效,但对于普通用户而言,exe的工作目录依旧在默认位置(读取和exe文件同一目录的文件)
C chdir函数的更多相关文章
- PHP chdir函数:改变当前的目录
PHP chdir函数的作用是改变当前的目录,这里主机吧详细介绍下chdir函数的用法,并列举使用chdir函数的例子. chdir定义和用法: chdir() 函数改变当前的目录. chdir实例: ...
- PHP chdir() 函数
实例 改变当前的目录: <?php// Get current directoryecho getcwd() . "<br>"; // Change direct ...
- linux之chdir函数解析
[lingyun@localhost chdir]$ ls chdir.c [lingyun@localhost chdir]$ cat chdir.c /********************* ...
- chdir函数的使用【学习笔记】
#include "apue.h" #include <fcntl.h> int main(void) { ) err_sys("chdir failed&q ...
- 文件和目录之chdir、fchdir和getcwd函数
每个进程都有一个当前工作目录,此目录是搜索所有相对路径名的起点(不以斜杠开始的路径名为相对路径名).当用户登录到UNIX系统时,其当前工作目录通常是口令文件(/etc/passwd)中该用户登录项的第 ...
- 函数chdir、fchdir和getcwd
函数chdir.fchdir和getcwd chdir.fchdir函数 每个进程都有一个当前工作目录,当前目录是进程的一个属性 当用户登录UNIX系统时,其当前工作目录通常是口令文件 ...
- 转:Delphi 函数大全
Delphi 函数大全 - xiucaiyao的专栏 - 博客频道 - CSDN.NEThttp://blog.csdn.net/xiucaiyao/article/details/4544039 名 ...
- VB6.0 和VB.NET 函数对比
VB6.0和VB.Net的对照表 VB6.0 VB.NET AddItem Object名.AddItem Object名.Items.Add ListBox1.Items.Add ComboBox1 ...
- PHP常用函数大全
usleep() 函数延迟代码执行若干微秒.unpack() 函数从二进制字符串对数据进行解包.uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.time_sleep_until() ...
随机推荐
- C# 爬虫框架实现 概述
目录: C# 爬虫框架实现 概述 C# 爬虫框架实现 流程_爬虫结构/原理 C# 爬虫框架实现 流程_各个类开发 C# 爬虫框架实现 流程_遇到的问题 C# 爬虫框架实现 后记 C#爬虫框架实现 源代 ...
- Python PIL、Pillow笔记
原文链接:https://blog.csdn.net/FlashKoala/article/details/90649464 一.PIL.Pillow简介 PIL(Python Imaging Lib ...
- 性能测试必备命令(2)- uptime
性能测试必备的 Linux 命令系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1819490.html 介绍 系统启动up了(运行了)多 ...
- ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别
前言:这篇论文旨在以极低的计算成本解决性能大幅下降的问题.提出了微分解卷积,将卷积矩阵分解为低秩矩阵,将稀疏连接整合到卷积中.提出了一个新的动态激活函数-- Dynamic Shift Max,通过 ...
- python模块--pathlib
类/属性/方法 返回值 参数 说明 .Path() p 创建Path对象 path 路径 p.parent Path 返回上一级路径 p.parents iter 上一级路径, 上上级 ...
- 关联数组VS索引数组
关联数组和常规说的数组类似,它包含标量抄数据,可用索引值来单独选择这些数据,和常规数组不同的是, 关联数组的索引值不是非负的整数而是任意的标量袭.这些标量称为百Keys,可以在以后用于检索数组中的数值 ...
- Excel删除重复数据及用公式筛选重复项并标记颜色突出显示
当表格记录比较多时,常常会有重复数据,而重复记录往往只希望保存一条,因此需要把多余的删除:在 Excel 中,删除重复数据有两种方法,一种是用"删除重复数据"删除,另一种是用&qu ...
- 手动制作Docker镜像
手动制作 Docker 镜像 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云服务器(用来用去感觉 Windows 的 Docker 出各种问题,比如使用 ...
- C++ 飞行游戏
源代码: #include<bits/stdc++.h> #include<windows.h> #include<conio.h> using namespace ...
- Ts基本数据类型
TS的基本数据类型 string let str : string str = 1 //报错 会提示num是字符串 不是数字 str = 'test' //正确 //拼接字符串 let str2 : ...