请教_tmkdir新建一个目录失败的问题

gaoshihonglincheng 2004-09-29 08:20:41
在使用.net运行库的_tmkdir新建一个目录时,如在c:\ps\根目录下新建一个名为“新建一个目录.ps”的目录时,
如果使用_tmkdir("c:\ps\新建一个目录.ps")则成功,
如果使用下面的方式则失败,
char path[266];
lstrcpy(path,"c:\ps\新建一个目录.ps");
_tmkdir(path);
请问该如果解决这个问题?

...全文
250 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kugou123 2004-09-29
  • 打赏
  • 举报
回复
不会这么奇怪吧。。
gaoshihonglincheng 2004-09-29
  • 打赏
  • 举报
回复
是我发帖的笔误,我是使用的 "c:\\ps\\新建一个目录.ps" 这样的格式的;使用CSDN的那种样式可以,但是如果在目录中加入"."就不行了
Kudeet 2004-09-29
  • 打赏
  • 举报
回复
你的目录都应该是\\,在VC里路径都是这样表示的:c:\\...\\
Kudeet 2004-09-29
  • 打赏
  • 举报
回复
copied from MSDN:


_mkdir, _wmkdir
Create a new directory.

int _mkdir( const char *dirname );

int _wmkdir( const wchar_t *dirname );

Routine Required Header Compatibility
_mkdir <direct.h> Win 95, Win NT
_wmkdir <direct.h> or <wchar.h> Win NT


For additional compatibility information, see Compatibility in the Introduction.

Libraries

LIBC.LIB Single thread static library, retail version
LIBCMT.LIB Multithread static library, retail version
MSVCRT.LIB Import library for MSVCRT.DLL, retail version


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

Parameter

dirname

Path for new directory

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.

Generic-Text Routine Mappings

TCHAR.H Routine _UNICODE & _MBCS Not Defined _MBCS Defined _UNICODE Defined
_tmkdir _mkdir _mkdir _wmkdir


Example

/* MAKEDIR.C */

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

void 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" );
}


Output

Directory '\testtmp' was successfully created
Volume in drive C is CDRIVE
Volume Serial Number is 0E17-1702

Directory of C:\testtmp

05/03/94 12:30p <DIR> .
05/03/94 12:30p <DIR> ..
2 File(s) 0 bytes
17,358,848 bytes free
Directory '\testtmp' was successfully removed

Directory Control Routines

See Also _chdir, _rmdir
代码下载地址: https://pan.quark.cn/s/a4b39357ea24 在Android系统上达成蓝牙与便携式打印机的连接,通常包含了一系列技术要素和操作流程。名为"Android连接蓝牙打印机(cpcl指令)Demo完整版"的项目提供了一个全面的解决方案,它运用了专门的打印机指令集——CPCL(Control Program for ClearType Language),该指令集主要用于操控打印作业,尤其适用于标签和面单的打印。以下是关于此主题的详尽阐述: 1. **蓝牙传输打印**:Android平台内置了`BluetoothAdapter`类别用于管理蓝牙数据交互。必须确认设备已启用蓝牙功能,随后对邻近的蓝牙设备进行探测。`startDiscovery()`函数负责启动搜寻过程,而`getBondedDevices()`能够列出已建立配对的设备。 2. **建立与便携打印机的联系**:当识别出目标打印机后,可借助`BluetoothDevice`类中的`createRfcommSocketToServiceRecord()`函数构建RFCOMM(蓝牙串行端口协议)的通道。一旦连接建立成功,便可通过`connect()`函数与打印机展开信息交流。 3. **CPCL编码**:CPCL是一种与ESC/POS类似的页面描述性语言,它用于调控打印机的输出格式、文字样式、条形码等。比如,`^PJL`用于设定页面布局,`^FO`指定输出位置,`^A`设定字体尺寸,`^BC`生成条形码,`^PG`执行分页操作。在Android程序中,需将CPCL编码转为文本格式,再经由蓝牙通道传输至打印机。 4. **博思达软件开发工具包**:博思达作为一家著名的打印...

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧