整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

你想要的CAD操作8个小技巧都在这

【Ctrl键无效之解决办法】

有时我们会碰到这样的问题,比如CTRL+C(复制),CTRL+V(粘贴)CTRL+A(全选)等一系列和CTRL键有关的命令都会失效,这时你只需到OP选项里调一下。

操作:OP(选项)-用户系统配置-WINDOWS标准加速键(打上勾),标准加速键打上勾后,和CTRL键有关的命令则有效,反之失灵。

【图形里的圆不圆了怎么办】

经常做图的人都会有这样的体会,所画的圆都不圆了,当然,学过素描的人都知道,圆是有很多折线组合而成,这里就不多说了,一个命令搞定它,命令:RE 空格(重生成即可)。

【快速找回最近删除的物体】

很帅气地删除了一个自以为不再需要的物体,执行N个操作之后,觉得还是之前删除的那个好。可是天下有后悔药么?算了,好马不吃回头草,还是直接ctrl+z撤销吧,然后重来一遍。其实cad中可以快速找回的。

※ 删除某一个对象后再次执行数次操作后,输入命令oops,可以快速找回上一次(最近)删除的对象。

cad变量值是什么_cad系统变量_cad系统变量设置是什么

CAD中镜像过来的文字是倒的怎么办?】

在CAD中选择图形进行镜像时,如果图形中包含文字,使用镜像命令后文字默认保持原有状态,然而有时候我们也希望是倒着的,所以CAD针对文字镜像进行了专门的处理,并提供了一个变量控制,常规状态下,文字镜像时不翻转,但有特殊需要时也可以让文字跟图形一样翻转。控制文字镜像的变量是,当值为0时,可保持镜像过来的字体不旋转,为1时,文字会按实际进行镜像。

※ 设置方法:直接在命令栏输入 回车,根据需要输入0或1(0文字不镜像;1文字镜像),输入MI镜像指令就OK了。

【CAD命令三键还原】

如果CAD里的系统变量被人无意更改,或一些参数被人有意调整了怎么办,这时不需重装,也不需要一个一个地改。

※ 操作方法:OP选项-配置-重置,即可恢复 。但恢复后,有些选项还需要一些调整,例如十字光标的大小等。

【如何保存图层模板?】

cad系统变量_cad变量值是什么_cad系统变量设置是什么

如想把图层,标注,打印都设置好了保存起来~ 方便下次打开直接使用,如何操作呢?

※ 操作方法:新建一个CAD文档,把图层,标注样式等等都设置好后另存为DWT格式(CAD的模板文件)。在CAD安装目录下找到DWT模板文件放置的文件夹,把刚才创建的DWT文件放进去,以后使用时,新建文档时提示选择模板文件选那个就好了。或者,把那个文件取名为acad.dwt(CAD默认模板),替换默认模板,以后只要打开就可以了。

【MA刷线型不好用怎么办?】

有时候用MA刷物体的时候,命令不产生效果,不能刷线型或颜色等,需要操作:MA--选中源对象-- S设置 弹出选项版把想刷地打上勾即可。

【cad固定保存版本】

我们都知道cad有不同版本,低版本的cad打不开高版本的文件,因为cad版本只向下兼容。为了避免高版本的文件能在低版本cad中打开,就需我们保存文件时选择版本。如何固定每次保存都一样呢?

※ 操作方法:op--打开和保存--另存为2014格式(选择一个低版本的格式即可),这样用2014以上的版本都可以打开了,方便操作。

DSP学习 -- Visual Studio 操作

int fprintf(FILE * stream, const char * format, …);

函数说明:

fprintf()会根据参数format 字符串来转换并格式化数据, 然后将结果输出到参数stream 指定的文件中, 直到出现字符串结束(‘\0’)为止。

返回值:

关于参数format 字符串的格式请参考printf(). 成功则返回实际输出的字符数, 失败则返回-1, 错误原因存于errno 中.

参数:

stream – 这是指向 FILE 对象的指针,该 FILE 对象标识了流。

format – 这是 C 字符串,包含了要被写入到流 stream 中的文本。它可以包含嵌入的 format 标签,format 标签可被随后的附加参数中指定的值替换,并按需求进行格式化。

//示例一  fprintf 函数
#include   
int main()  
{  
    FILE *p_file = fopen("b.txt","w");  
    if(p_file)  
    {   //fprintf函数可以把数据按照格式记录到文本文件中  
        fprintf(p_file,"%c,%g,%d\n",'c',3.14,46);
        fclose(p_file);  
        p_file=NULL;  
    }  
    return 0;  
}  
查看 b.txt
# cat b.txt 
c,3.14,46

二、预处理

参看:C语言再学习 – C 预处理器

1、#define 用法

2、#include 用法

3、#if #endif 用法

三、标准I/O

参看:UNIX再学习 – 标准I/O

参看:Stream I/O

1、打开流

参看:fopen, _wfopen

FILE *fopen(const char *path, const char *mode);

mode 方式:

在这里插入图片描述

2、读和写流 (文件输入/输出)

一旦打开了流,则可在 3 种不同类型的非格式化 I/O 中进行选择,对其进行读、写操作。

(1)每次一个字符的 I/O。

一次读或写一个字符,如果流是带缓冲的,则标准 I/O 函数 fgetc fputc处理所有缓冲。

(2)每次一行的 I/O。

如果想要一次读或写一行,则使用 fgets 和 fputs。每行都以一个换行符终止。当调用 fgets 时,应说明能处理的最大行长。

(3)直接 I/O。

fread 和 fwrite 函数支持这种类型的 I/O。每次 I/O 操作读或写某种数量的对象,而每个对象具有指定的长度。这两个函数常用于从二进制文件中每次读或写一个结构。

3、定位流

int fseek(FILE *stream, long offset, int );

重定位流(数据流/文件)上的文件内部位置指针

注意:文件指针指向文件/流。位置指针指向文件内部的字节位置,随着文件的读取会移动,文件指针如果不重新赋值将不会改变或指向别的文件。

函数设置文件指针stream的位置。如果执行成功,stream将指向以(偏移起始位置:文件头0(),当前位置1(),文件尾2())为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。

四、文件夹操作

查看 tchar.h

1、(), (), () 查看路径下文件夹和文件

参看: Search

读取文件可以采用几个函数分别为,、、。其中还要借助结构体 struct ,主要用来存储各种文件的信息。

struct _finddata64i32_t {
        unsigned    attrib;
        __time64_t  time_create;    /* -1 for FAT file systems */
        __time64_t  time_access;    /* -1 for FAT file systems */
        __time64_t  time_write;
        _fsize_t    size;
        char        name[260];

结构:

attrib

文件属性。

time_t

文件创建时间(对于FAT文件系统,为-1L)。此时间以UTC格式存储。要转换为当地时间,请使用 。

time_t

上次文件访问的时间(对于FAT文件系统,该时间为-1L)。此时间以UTC格式存储。要转换为当地时间,请使用 。

time_t

上次写入文件的时间。此时间以UTC格式存储。要转换为当地时间,请使用 。

size

文件长度,以字节为单位。

char name[ ]

匹配文件或目录的名称,以null终止,不带路径。

您不能指定目标属性(例如)来限制查找操作。这些属性attrib在结构的字段中返回,并且可以具有以下值(在IO.h中定义)。用户不应依赖这些作为该attrib字段可能的唯一值。

其中文件的属性,分别有以下几种:

_A_ARCH

存档。每当通过BACKUP命令更改和清除文件时设置。值:0x20。

隐藏文件。除非使用/ AH选项,否则通常不会在DIR命令中看到。返回有关普通文件和具有此属性的文件的信息。值:0x02。

正常。文件没有设置其他属性,可以不受限制地读取或写入文件。值:0x00。

只读。无法打开文件进行写入,也无法创建具有相同名称的文件。值:0x01。

子目录。值:0x10。

系统文件。除非使用/ A或/ A:S选项,否则通常在DIR命令中看不到。值:0x04。

示例:

使用do while循环可还行。

void getAllFiles(const string& path, vector& files) {
	//文件句柄
	intptr_t hFile = 0;//intptr_t:x86编译时int,X64时long long
	//文件信息
	struct _finddata_t fileinfo;  //文件信息读取结构
	string p;  //string一个赋值函数:assign(str):把str拷贝给p,append(str):在字符串结尾追加str
	if ((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &fileinfo)) != -1)//"*"为通配符,匹配所有字符串 {
		do 
		{
			if ((fileinfo.attrib & _A_SUBDIR)) {  //比较文件类型是否是文件夹
				if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0) 
				{
					files.push_back(p.assign(path).append("\\").append(fileinfo.name));//子文件夹路径
					getAllFiles(p.assign(path).append("\\").append(fileinfo.name), files);//查找子文件夹下的所有文件信息
				}
 
			}
			else {
				files.push_back(p.assign(path).append("\\").append(fileinfo.name));//文件路径
 
			}
		} 
		while (_findnext(hFile, &fileinfo) == 0);  //寻找下一个,成功返回0,否则-1
 
		_findclose(hFile);
	}
}
 

2、文件夹操作 创建文件夹: _mkdir()

参看:_mkdir, _wmkdir

该_mkdir函数创建一个具有指定一个新的目录目录名。 _mkdir每次调用只能创建一个新目录,因此只有dirname的最后一个组件才能命名新目录。_mkdir不转换路径定界符。在Windows NT中,反斜杠(\)和正斜杠(/)都是运行时例程中字符串中的有效路径定界符。

// crt_makedir.c

清除设置数据里的文件_清除设置数据里的表格_设置里的数据清除不了

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

删除文件夹: _rmdir()

_rmdir, _wrmdir

该_rmdir函数删除指定的目录目录名。该目录必须为空,并且不能为当前工作目录或根目录。

那么问题来了,如果删除非空文件夹,该怎么办呢?

使用:

system(“rd /s/q 对应的路径”);

/s 除目录本身外,还讲删除指定目录下的所有子目录和文件。

/q 安静模式,带/s删除目录树时不需要确认。

进入文件夹: _chdir()

参看:_chdir, _wchdir

_chdir功能改变当前的工作目录由指定的目录目录名。该目录名称参数必须指向现有的目录。此功能可以更改任何驱动器上的当前工作目录。如果在dirname中指定了新的驱动器号,则默认驱动器号也会更改。例如,如果A是默认驱动器号,\ BIN是当前工作目录,则以下调用更改驱动器C的当前工作目录,并将C建立为新的默认驱动器:

_chdir("c:\temp");

在路径中使用可选的反斜杠字符(\)时,必须在C字符串文字中放置两个反斜杠(\)以表示单个反斜杠(\)。

// crt_chdir.c
// arguments: C:\WINDOWS
/* This program uses the _chdir function to verify
   that a given directory exists. */
#include 
#include 
#include 
#include 
int main( int argc, char *argv[] )
{
   if(_chdir( argv[1] ) )
   {
      switch (errno)
      {
      case ENOENT:
         printf( "Unable to locate the directory: %s\n", argv[1] );
         break;
      case EINVAL:
         printf( "Invalid buffer.\n");
         break;
      default:
         printf( "Unknown error.\n");
      }
   }
   else
      system( "dir *.exe");
}

文件夹是否存在: _access();

参看:_access,

头文件:

函数原型:int _access(const char *, int mode);

参数: 为文件路径或目录路径 mode 为访问权限(在不同系统中可能用不能的宏定义重新定义)

返回值:如果文件具有指定的访问权限,则函数返回0;如果文件不存在或者不能访问指定的权限,则返回-1.

备注:当为文件时,_access函数判断文件是否存在,并判断文件是否可以用mode值指定的模式进行访问。当为目录时,_access只判断指定目录是否存在,在Windows NT和Windows 2000中,所有的目录都只有读写权限。

mode的值和含义如下所示:

00——只检查文件是否存在

02——写权限

04——读权限

06——读写权限

#include 
#include 
#include 
int main()
{
    if ((_access(“IsExist.txt”, 0)) != -1)
    {
        printf(“File IsExist.txt exists.n”);
 
        if ((_access(“IsExist.txt”, 2)) != -1)
            printf(“File IsExist.txt does not have write permission.\n”);
    }
 
    return 0;
}

3、system 执行命令

参看:system,

所述系统功能通过命令到命令解释器,它执行字符串作为操作系统命令。系统使用COMSPEC和PATH环境变量来定位命令解释器文件CMD.exe。如果command为NULL,则该函数仅检查命令解释器是否存在。

您必须使用fflush或显式刷新,或在调用system之前关闭任何流。

示例:

使用system对文本文件进行TYPE。

// crt_system.c
#include 
int main( void )
{
   system( "type crt_system.txt" );
}

上面用到了两个指令:

system("rd /s/q 对应的路径");
system( "type crt_system.txt" );

这些都是DOS指令,查看 help

C:\Users\Administrator>help
有关某个命令的详细信息,请键入 HELP 命令名
ASSOC          显示或修改文件扩展名关联。
ATTRIB         显示或更改文件属性。
BREAK          设置或清除扩展式 CTRL+C 检查。
BCDEDIT        设置启动数据库中的属性以控制启动加载。
CACLS          显示或修改文件的访问控制列表(ACL)。
CALL           从另一个批处理程序调用这一个。
CD             显示当前目录的名称或将其更改。
CHCP           显示或设置活动代码页数。
CHDIR          显示当前目录的名称或将其更改。
CHKDSK         检查磁盘并显示状态报告。
CHKNTFS        显示或修改启动时间磁盘检查。
CLS            清除屏幕。

清除设置数据里的表格_设置里的数据清除不了_清除设置数据里的文件

CMD 打开另一个 Windows 命令解释程序窗口。 COLOR 设置默认控制台前景和背景颜色。 COMP 比较两个或两套文件的内容。 COMPACT 显示或更改 NTFS 分区上文件的压缩。 CONVERT 将 FAT 卷转换成 NTFS。你不能转换 当前驱动器。 COPY 将至少一个文件复制到另一个位置。 DATE 显示或设置日期。 DEL 删除至少一个文件。 DIR 显示一个目录中的文件和子目录。 DISKPART 显示或配置磁盘分区属性。 DOSKEY 编辑命令行、撤回 Windows 命令并 创建宏。 DRIVERQUERY 显示当前设备驱动程序状态和属性。 ECHO 显示消息,或将命令回显打开或关闭。 ENDLOCAL 结束批文件中环境更改的本地化。 ERASE 删除一个或多个文件。 EXIT 退出 CMD.EXE 程序(命令解释程序)。 FC 比较两个文件或两个文件集并显示 它们之间的不同。 FIND 在一个或多个文件中搜索一个文本字符串。 FINDSTR 在多个文件中搜索字符串。 FOR 为一组文件中的每个文件运行一个指定的命令。 FORMAT 格式化磁盘,以便用于 Windows。 FSUTIL 显示或配置文件系统属性。 FTYPE 显示或修改在文件扩展名关联中使用的文件 类型。 GOTO 将 Windows 命令解释程序定向到批处理程序 中某个带标签的行。 GPRESULT 显示计算机或用户的组策略信息。 GRAFTABL 使 Windows 在图形模式下显示扩展 字符集。 HELP 提供 Windows 命令的帮助信息。 ICACLS 显示、修改、备份或还原文件和 目录的 ACL。 IF 在批处理程序中执行有条件的处理操作。 LABEL 创建、更改或删除磁盘的卷标。 MD 创建一个目录。 MKDIR 创建一个目录。 MKLINK 创建符号链接和硬链接 MODE 配置系统设备。 MORE 逐屏显示输出。 MOVE 将一个或多个文件从一个目录移动到另一个 目录。 OPENFILES 显示远程用户为了文件共享而打开的文件。 PATH 为可执行文件显示或设置搜索路径。 PAUSE 暂停批处理文件的处理并显示消息。 POPD 还原通过 PUSHD 保存的当前目录的上一个 值。 PRINT 打印一个文本文件。 PROMPT 更改 Windows 命令提示。 PUSHD 保存当前目录,然后对其进行更改。 RD 删除目录。 RECOVER 从损坏的或有缺陷的磁盘中恢复可读信息。 REM 记录批处理文件或 CONFIG.SYS 中的注释(批注)。 REN 重命名文件。 RENAME 重命名文件。 REPLACE 替换文件。 RMDIR 删除目录。 ROBOCOPY 复制文件和目录树的高级实用工具 SET 显示、设置或删除 Windows 环境变量。 SETLOCAL 开始本地化批处理文件中的环境更改。 SC 显示或配置服务(后台进程)。 SCHTASKS 安排在一台计算机上运行命令和程序。 SHIFT 调整批处理文件中可替换参数的位置。 SHUTDOWN 允许通过本地或远程方式正确关闭计算机。 SORT 对输入排序。 START 启动单独的窗口以运行指定的程序或命令。 SUBST 将路径与驱动器号关联。 SYSTEMINFO 显示计算机的特定属性和配置。 TASKLIST 显示包括服务在内的所有当前运行的任务。 TASKKILL 中止或停止正在运行的进程或应用程序。 TIME 显示或设置系统时间。 TITLE 设置 CMD.EXE 会话的窗口标题。 TREE 以图形方式显示驱动程序或路径的目录 结构。 TYPE 显示文本文件的内容。 VER 显示 Windows 的版本。 VERIFY 告诉 Windows 是否进行验证,以确保文件 正确写入磁盘。 VOL 显示磁盘卷标和序列号。 XCOPY 复制文件和目录树。 WMIC 在交互式命令 shell 中显示 WMI 信息。 有关工具的详细信息,请参阅联机帮助中的命令行参考。

如果还想继续查看命令详细信息: help + 命令

C:\Users\Administrator>help RD
删除一个目录。
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path
    /S      除目录本身外,还将删除指定目录下的所有子目录和
            文件。用于删除目录树。
    /Q      安静模式,带 /S 删除目录树时不要求确认

五、freopen

参看:UNIX再学习 – 标准I/O

将printf 内容保存到abc.txt

//示例二 freopen 函数
#include  
#include 
 
int main (void)  
{  
	FILE*fp = NULL;  
	fp = freopen("abc.txt", "w", stdout);  
	if(NULL == fp)  
		perror("fail to freopen"), exit (1);  
 
	printf ("hello world!\n");
	
	fclose (stdout);
	fclose (fp);  
	fp = NULL;  
     return 0;  
}  
查看 abc.txt
# cat abc.txt 
hello world!

六、编译生成的应用以管理员身份运行

属性->链接器->清单文件->UAC执行级别

选择 (/level=‘’)

在这里插入图片描述