我也要学C语言(威力加强版)_第二章:system函数与命令行参数以及内存的查看

system函数

  在C语言中可以使用system函数向操作系统传递控制台命令,通过system()函数执行命令和在DOS窗口中执行命令都是一样的效果。但是WINDOWS控制台下使用的命令比起LINUX下的SHELL还是很弱的。不过一些常用的命名都还是有的,可以满足一般的操作需要。比如我们要复制1个文件到1个目录中就可以这样写代码。

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

1 int main(int argc, char *argv[], char *envp[])

2 {
3 int n_system_oversee;
4
5 if (!(n_system_oversee = system("copy E:\\asm\\1.asm F:\\1.asm")))
6 {
7 system("cls");
8 printf("success!!!\r\n");
9 }
10 else
11 {
12 printf("Error, please check!!!\r\n");
13 }
14
15 return0;
16 }

这段代码,如何你电脑里有E盘,F盘,并存E盘下有我们想要复制的源文件,如何F盘剩余空间大于此文件,那么就会成功的复制文件!

  但是这样的程序没有什么实用性,因为此程序已经固定死了文件,没有通用性!为了达到通用性,我们可以这样加入命令行参数!

 1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int main(int argc, char*argv[], char*envp[])
5 {
6 char buffer[80];
7 sprintf(buffer, "copy %s %s", argv[1], argv[2]);
8
9 system(buffer);
10
11 return0;
12 }

内存里的数据

 1 void main()
2 {
3 int nTest =0x87654093;
4 int nTestB = (int)&nTest;
5 float fTest =0.0317123f;
6
7 printf("nTest=");
8 scanf("%x", nTestB);
9 printf("nTestB=");
10 scanf("%x", &nTestB);
11
12 printf("%%hello world!\r\n"
13 "nTest\t= %08xEnd\r\n"
14 "fTest\t= %08xEnd\r\n"
15 "nTestB address is %p\r\n",
16 nTest, nTestB, &nTestB); // 80;
17
18 system("pause");
19 }

这个程序显示了C语言的灵活度。你想如何解释一些数据就可以如何去解释。只要长度合适。

经典摇滚曲:get free

原文地址:https://www.cnblogs.com/dodolook/p/2143532.html