zoukankan      html  css  js  c++  java
  • 我也要学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

  • 相关阅读:
    Linux文本检索命令grep笔记
    Linux文本检索命令grep笔记
    Linux文件查询笔记
    Linux文件查询笔记
    Linux文件默认权限和umask笔记
    Linux文件默认权限和umask笔记
    Linux关于文件的权限笔记
    Linux关于文件的权限笔记
    Linux文件操作实用笔记
    6.创建自定义菜单
  • 原文地址:https://www.cnblogs.com/dodolook/p/2143532.html
Copyright © 2011-2022 走看看