通过这2个函数主要完成对文件名的构造
(1)_splitpath函数——分解路径函数
char*drwFullPath = "D:\\Test\\8102.drw";
charsaveDrive[200];
charsaveDir[200];
charsaveName[100];
charsaveExt[50];
_splitpath(drwFullPath,saveDrive,saveDir,saveName,saveExt);
结果:saveDrive=D:
saveDir=\Test\
saveName=8102
saveExt=.drw
(2)strcat函数——把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。
extern char *strcat(char *dest,char *src);头文件应该包含#include <string.h>
//pdf放到同目录下的Results目录下
strcat(saveDir, "result\\");
char *savePath = strcat(saveDrive,saveDir);
mkdir(savePath);
char*destPdfFullNameNoExt = strcat(saveDrive,saveName);
chardestDxfFullName[1024];
sprintf(destDxfFullName, "%s.dxf", destPdfFullNameNoExt);
char *destPdfFullName =strcat(destPdfFullNameNoExt,".pdf");
//生成结果为: "D:\\Test\\8102.pdf";
附加函数:strstr函数——搜索一个字符串在另一个字符串中的第一次出现。找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;如果未找到所搜索的字符串,则返回NULL。
| extern char *strstr(char *str1, const char *str2); |
str1: 被查找目标 stringexpression to search.
str2: 要查找对象 Thestring expression to find.
返回值:若str2是str1的子串,则先确定str2在str1的第一次出现的位置,并返回此str1在str2首位置的地址。;如果str2不是str1的子串,则返回NULL。
例子:
1 2 3 | char str[]="1234xyz"; char *str1=strstr(str,"34"); cout << str1 << endl; |
显示的是: 34xyz