
正文
c语言中subst函数 sub函数是什么意思c语言
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C语言指针函数例题
在我的系统中运行c语言中subst函数你 的程序和你想的一样c语言中subst函数,是8不是7.
string 1,string 2:
it's a boy
boy
offset 8 "boy"in"it's a boy"
所谓指针就是地址,只是指针会区别它是什么指针,对应的数据占多大内存。如subst,str都是char*类型的,c语言中subst函数他们是字符指针,所以他们指向的类型是字符。*str和str[0]的含义是一样的,意思是取得首字符。在c语言中字符串就是用字符指针来表示的,对应的是“%s”,而加上c语言中subst函数了*,是取这个字符指针地址的内容,也就是一个字符,用“%c”表示。所以你打印的是字符串,就应该用%s。
相关问答
Q1: makefile foreach 中能掉用函数么
在Makefile中可以使用函数来处理变量c语言中subst函数,从而让c语言中subst函数我们的命令或是规则更为的灵活和具
有智能。make所支持的函数也不算很多c语言中subst函数,不过已经足够我们的操作c语言中subst函数了。函数调用后,函
数的返回值可以当做变量来使用。
一、函数的调用语法
函数调用,很像变量的使用,也是以“$”来标识的,其语法如下c语言中subst函数:
$(function arguments )
或是
${function arguments}
这里,function就是函数名,make支持的函数不多。arguments是函数的参数,参数
间以逗号“,”分隔,而函数名和参数之间以“空格”分隔。函数调用以“$”开头,以圆
括号或花括号把函数名和参数括起。感觉很像一个变量,是不是?函数中的参数可以使
用变量,为了风格的统一,函数和变量的括号最好一样,如使用“$(substa,b,$(x))”这
样的形式,而不是“$(substa,b,${x})”的形式。因为统一会更清楚,也会减少一些不必
要的麻烦。
还是来看一个示例:
comma:= ,
empty:=
space:= $(empty) $(empty)
foo:= a b c
bar:= $(subst $(space),$(comma),$(foo))
在这个示例中,$(comma)的值是一个逗号。$(space)使用了$(empty)定义了一个空格,
$(foo)的值是“a b c”,$(bar)的定义用,调用了函数“subst”,这是一个替换函数,这
个函数有三个参数,第一个参数是被替换字串,第二个参数是替换字串,第三个参数
是替换操作作用的字串。这个函数也就是把$(foo)中的空格替换成逗号,所以$(bar)的值
是“a,b,c”。
二、字符串处理函数
$(subst from,to,text )
名称:字符串替换函数——subst。
功能:把字串text中的from字符串替换成to。
返回:函数返回被替换过后的字符串。
示例:
$(subst ee,EE,feet on the street),
把“feetonthestreet”中的“ee”替换成“EE”,返回结果是“fEEtonthestrEEt”。
$(patsubst pattern,replacement,text )
名称:模式字符串替换函数——patsubst。
功能:查找text中的单词(单词以“空格”、“Tab”或“回车”“换行”分隔)是否
符合模式pattern,如果匹配的话,则以replacement替换。这里,pattern可以包括
通配符“%”,表示任意长度的字串。如果replacement中也包含“%”,那么,
replacement中的这个“%”将是pattern中的那个“%”所代表的字串。(可以用“\”
来转义,以“\%”来表示真实含义的“%”字符)
返回:函数返回被替换过后的字符串。
示例:
$(patsubst %.c,%.o,x.c.c bar.c)
把字串“x.c.cbar.c”符合模式[%.c]的单词替换成[%.o],返回结果是“x.c.obar.o”
备注:
这和我们前面“变量章节”说过的相关知识有点相似。如:
“$(var:pattern=replacement )”
相当于
“$(patsubst pattern,replacement,$(var))”,
而“$(var:suffix=replacement)”
则相当于
“$(patsubst %suffix,%replacement,$(var))”。
例如有:objects=foo.obar.obaz.o,
那么,“$(objects:.o=.c)”和“$(patsubst%.o,%.c,$(objects))”是一样的。
$(strip string )
名称:去空格函数——strip。
功能:去掉string字串中开头和结尾的空字符。
返回:返回被去掉空格的字符串值。
示例:
$(strip a b c )
把字串“abc”去到开头和结尾的空格,结果是“abc”。
$(findstring find,in )
名称:查找字符串函数——findstring。
功能:在字串in中查找find字串。
返回:如果找到,那么返回find,否则返回空字符串。
示例:
$(findstring a,a b c)
$(findstring a,b c)
第一个函数返回“a”字符串,第二个返回“”字符串(空字符串)
$(filter pattern...,text )
名称:过滤函数——filter。
功能:以pattern模式过滤text字符串中的单词,保留符合模式pattern的单词。可
以有多个模式。
返回:返回符合模式pattern的字串。
示例:
sources := foo.c bar.c baz.s ugh.h
foo: $(sources)
cc $(filter %.c %.s,$(sources)) -o foo
$(filter %.c %.s,$(sources))返回的值是“foo.c bar.c baz.s”。
$(filter-out pattern...,text )
名称:反过滤函数——filter-out。
功能:以pattern模式过滤text字符串中的单词,去除符合模式pattern的单词。可
以有多个模式。
返回:返回不符合模式pattern的字串。
示例:
objects=main1.o foo.o main2.o bar.o
mains=main1.o main2.o
$(filter-out $(mains),$(objects)) 返回值是“foo.o bar.o”。
$(sort list )
名称:排序函数——sort。
功能:给字符串list中的单词排序(升序)。
返回:返回排序后的字符串。
示例:$(sortfoobarlose)返回“barfoolose”。
备注:sort函数会去掉list中相同的单词。
$(word n,text )
名称:取单词函数——word。
功能:取字符串text中第n个单词。(从一开始)
返回:返回字符串text中第n个单词。如果n比text中的单词数要大,那么返回
空字符串。
示例:$(word2,foobarbaz)返回值是“bar”。
$(wordlist s,e,text )
名称:取单词串函数——wordlist。
功能:从字符串text中取从s开始到e的单词串。s和e是一个数字。
返回:返回字符串text中从s到e的单词字串。如果s比text中的单词数要大,
那么返回空字符串。如果e大于text的单词数,那么返回从s开始,到text结束
的单词串。
示例:$(wordlist2,3,foobarbaz)返回值是“barbaz”。
$(words text )
名称:单词个数统计函数——words。
功能:统计text中字符串中的单词个数。
返回:返回text中的单词数。
示例:$(words,foobarbaz)返回值是“3”。
备注:如果我们要取text中最后的一个单词,我们可以这样:$(word $(words
text ),text )。
$(firstword text )
名称:首单词函数——firstword。
功能:取字符串text中的第一个单词。
返回:返回字符串text的第一个单词。
示例:$(firstwordfoobar)返回值是“foo”。
备注:这个函数可以用word函数来实现:$(word1,text)。
以上,是所有的字符串操作函数,如果搭配混合使用,可以完成比较复杂的功能。这里,
举一个现实中应用的例子。我们知道,make使用“VPATH”变量来指定“依赖文件”的
搜索路径。于是,我们可以利用这个搜索路径来指定编译器对头文件的搜索路径参数
CFLAGS,如:
override CFLAGS += $(patsubst %,-I%,$(subst :, ,$(VPATH)))
如果我们的“$(VPATH)”值是“src:../headers”,那么“$(patsubst %,-I%,$(subst :, ,
$(VPATH)))”将返回“-Isrc -I../headers”,这正是 cc 或 gcc 搜索头文件路径的参数。
Q2: C语言中 system的各种参数
下面列出常用c语言中subst函数的DOS命令,都可以用system函数调用:
ASSOC 显示或修改文件扩展名关联。
AT 计划在计算机上运行的命令和程序。
ATTRIB 显示或更改文件属性。
BREAK 设置或清除扩展式 CTRL+C 检查。
CACLS 显示或修改文件的访问控制列表(ACLs)。
CALL 从另一个批处理程序调用这一个。
CD 显示当前目录的名称或将其更改。
CHCP 显示或设置活动代码页数。
CHDIR 显示当前目录的名称或将其更改。
CHKDSK 检查磁盘并显示状态报告。
CHKNTFS 显示或修改启动时间磁盘检查。
CLS 清除屏幕。
CMD 打开另一个 Windows 命令解释程序窗口。
COLOR 设置默认控制台前景和背景颜色。
COMP 比较两个或两套文件的内容。
COMPACT 显示或更改 NTFS 分区上文件的压缩。
CONVERT 将 FAT 卷转换成 NTFS。您不能转换
当前驱动器。
COPY 将至少一个文件复制到另一个位置。
DATE 显示或设置日期。
DEL 删除至少一个文件。
DIR 显示一个目录中的文件和子目录。
DISKCOMP 比较两个软盘的内容。
DISKCOPY 将一个软盘的内容复制到另一个软盘。
DOSKEY 编辑命令行、调用 Windows 命令并创建宏。
ECHO 显示消息c语言中subst函数,或将命令回显打开或关上。
ENDLOCAL 结束批文件中环境更改的本地化。
ERASE 删除至少一个文件。
EXIT 退出 CMD.EXE 程序(命令解释程序)。
FC 比较两个或两套文件c语言中subst函数,并显示不同处。
FIND 在文件中搜索文字字符串。
FINDSTR 在文件中搜索字符串。
FOR 为一套文件中的每个文件运行一个指定的命令
FORMAT 格式化磁盘,以便跟 Windows 使用。
FTYPE 显示或修改用于文件扩展名关联的文件类型。
GOTO 将 Windows 命令解释程序指向批处理程序
中某个标明的行。
GRAFTABL 启用 Windows 来以图像模式显示
扩展字符集。
HELP 提供 Windows 命令的帮助信息。
IF 执行批处理程序中的条件性处理。
LABEL 创建、更改或删除磁盘的卷标。
MD 创建目录。
MKDIR 创建目录。
MODE 配置系统设备。
MORE 一次显示一个结果屏幕。
MOVE 将文件从一个目录移到另一个目录。
PATH 显示或设置可执行文件的搜索路径。
PAUSE 暂停批文件的处理并显示消息。
POPD 还原 PUSHD 保存的当前目录的上一个值。
PRINT 打印文本文件。
PROMPT 更改 Windows 命令提示符。
PUSHD 保存当前目录,然后对其进行更改。
RD 删除目录。
RECOVER 从有问题的磁盘恢复可读信息。
REM 记录批文件或 CONFIG.SYS 中的注释。
REN 重命名文件。
RENAME 重命名文件。
REPLACE 替换文件。
RMDIR 删除目录。
SET 显示、设置或删除 Windows 环境变量。
SETLOCAL 开始批文件中环境更改的本地化。
SHIFT 更换批文件中可替换参数的位置。
SORT 对输入进行分类。
START 启动另一个窗口来运行指定的程序或命令。
SUBST 将路径跟一个驱动器号关联。
TIME 显示或设置系统时间。
TITLE 设置 CMD.EXE 会话的窗口标题。
TREE 以图形模式显示驱动器或路径的目录结构。
TYPE 显示文本文件的内容。
VER 显示 Windows 版本。
VERIFY 告诉 Windows 是否验证文件是否已正确写入磁盘。
VOL 显示磁盘卷标和序列号。
XCOPY 复制文件和目录树。
Q3: system函数具体功能是什么?
system函数具体功能是调用windows操作系统下的C语言应用。system函数需加头文件stdlib.h后方可调用。
system("pause")可以实现冻结屏幕,便于观察程序的执行结果;system("CLS")可以实现清屏操作。而调用color函数可以改变控制台的前景色和背景,具体参数在下面说明。
例如:用 system("color 0A");其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:
0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色。
扩展资料:
C语言有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,例如用system函数来调用。
且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。
在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。
参考资料来源:百度百科-system (函数)
参考资料来源:百度百科-c语言
c语言中subst函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于sub函数是什么意思c语言、c语言中subst函数的信息别忘了在本站进行查找喔。







