system();
函数原型:intsystem(constchar*command);
|
我以这个为测试为例:system("abcde");
显示如下:
'abcde'不是内部或外部命令,也不是可运行的程序
或批处理文件。
Pressanykeytocontinue
这个很能说明问题:在windows操作系统下,system()函数真正调用的是命令解释器文件cmd.exe,这个我想你应该知道吧,通过解释器将传入的字符串转成相应的内部/外部命令或可运行程序以及批处理文件,就能解决你关于pause(内部指令)、clrscr(外部命令)的问题了。不过这里还有个小问题,我的中文XP下cmd似乎也是英文版本的,所以pause显示英文,而console程序显示的是中文,我个人理解是console程序与操作系统间有密切关系(可能存在语言的转译或内部调用一个中文的cmd),所以console程序结果与cmd结果在内容上有语言的区别。
|
改变窗口的字体颜色可用语句 system("color 2"); 此时执行程序后,会是绿色的字体。
|
strncpy()函数
C/C++中的strncpy()函数功能为将第source串的前n个字符拷贝到destination串,原型为:
char * strncpy ( char * destination, const char * source, size_t num );
各个参数的含义显而易见,其中返回值与destination相同。
这个函数会出现三种情况:
1、num<source串的长度(包含最后的'\0'字符):那么该函数将会拷贝source的前num个字符到destination串中(不会自动为destination串加上结尾的'\0'字符);
2、num=source串的长度(包含最后的'\0'字符):那么该函数将会拷贝source的全部字符到destination串中(包括source串结尾的'\0'字符);
3、num>source串的长度(包含最后的'\0'字符):那么该函数将会拷贝source的全部字符到destination串中(包括source串结尾的'\0'字符),并且在destination串的结尾继续加上'\0'字符,直到拷贝的字符总个数等于num为止。
[例]
设有如下声明,注意此时source串的长度为6(包含最后的'\0'字符):
char destination[] = "********************"; // destination串为: "********************0"
cosnt char *source = "-----"; // source串为: "-----0"
情形1:如果执行如下语句:
strncpy( destination, source, 5 );
那么destination的前5个字符将会被'-'替换,即(以'0'表示'\0'字符):
destination串为: "-----***************0"
情形2:如果执行如下语句:
strncpy( destination, source, 6 );
那么destination的前6个字符将会被source的前6个字符替换,即(以'0'表示'\0'字符):
destination串为: "-----0**************0"
情形3:如果执行如下语句:
strncpy( destination, source, 10 );
那么destination的前6个字符将会被source的前6个字符替换,并且会在后面补4个'\0',即(以'0'表示'\0'字符):
destination串为: "-----00000**********0"
参考:http://en.cppreference.com/w/cpp/string/byte/strncpy(例子不错)。。
分享到:
相关推荐
C语言程序设计-编写函数实现两个数据的交换,在主函数中输入任意三个数据,调用函数对这三个数据从大到小排序;.c
C语言实现求两个数的阶乘 C语言实现求两个数的阶乘
C语言编程练习,需要使用手机APP:C4droid打开
对两个整数通过函数调用交换其值,然后输出。首先定义一个函数,3个值交换。在主函数函数声明(可省略),调用函数,输入要交换的两个值
C语言程序设计-编写main程序调用函数fact求解从m个元素选n个元素的组合数的个数;计算公式是: 组合数=m!(n!.(m-n)!);要求m不能小于n,否则应有容错处理;说明:函数fact(x)的功能是求x!;
C语言文件操作及函数大全 2.文件操作函数: (1)文件打开函数fopen fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen("文件名","使用文件方式"); 其中,“文件指针名”必须是被说明为FILE 类型的...
在C++中用函数递归调用的方法实现辗转相除法求两个整数的最大公因子。
还有以下两个成员函数:一个用于初始化学生姓名、学号、性别和年龄的构造函数,一个用于输出学生信息的函数。编写一个主函数。声明一个学学生对象。然后调用成员函数在屏幕输出学生信息。 编程环境:vs2010,语言:...
用C语言编写一个程序实现学员成绩管理,每个学员包括3门课的成绩,从键盘输入学员信息, 包括学号、姓名、三门课成绩,计算出学员的平均成绩,按照学员平均成绩由大到小排序 插入功能:在排序后的学员成绩表中插入...
1、定义函数返回两个数中的最大数,在主函数中通过调用该函数求三个数中较大的数并输出。 2、编写一个判断一个整数是否为素数的函数,并求出在2000以内的所有素数。 3、求方程ax2+bx+c=0的根,用三个函数分别求...
说明:解决问题的方法相同,调用函数的参数每次不同(有规律的递增或递减),如果没有规律也就不能适用递归调用。 2、可以应用这个转化过程使问题得到解决。 说明:使用其他的办法比较麻烦或很难解决
2. 采用C语言调用汇编函数的办法:C语言中初始化ABCD四个矩阵,将地址传递给汇编程序。汇编程序完成矩阵的相乘相加,并存储在内存中,返回结果的地址。 经过分析,本实验的重点在于对Visual DSP++寄存器,内存地址,...
C语言第七章.ppt
本例为16/16位定点除法C语言调用汇编函数的程序 C语言调用汇编函数时传递了两个参数 汇编函数中使用了C变量 调用ASM_DIV函数计算后 商在ACCB中 余数在ACCC中
'Next of Page在C语言中,可以用以下几种方式调用函数: 1.函数表达式 函数作表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。例如: z=max(x,y)是一个赋值表达式,...
啊,很详细啊!C语言程序设计之交换两个数的值。
4.12 我看到了用指针调用函数的不同语法形式。到底怎么回事? 4.13 通用指针类型是什么?当我把函数指针赋向void*类型的时候,编译通不过。 4.14 怎样在整型和指针之间进行转换?能否暂时把整数放入指针变量中...
1.4 有两个班级,分别有35名和30名学生,调用函数,分别求这两个班的平均值 1.5 用选择法对数组中的10个整数按由小到大排序 1.6 有一个3*4的矩阵,求所以=有元素中的最大值 1.7 有一个数,内放10个数,不用全局变量...