ClionDay9

/**

* 函数 Function -- 方法

* main函数里面只包含逻辑结构 不包含具体实现

*

* 为什么要函数

*      1.代码出现冗余 (重复出现)

*      2.函数就是一个独立的代码块-(一个代码块完成一个功能)

*      3.模块化 项目经理 —— 小弟

* 如何定义

*      1.先声明 后使用

*      返回值  函数名(参数类型 参数别名){

*

*      }

* 怎么使用

*/

//声明函数

int add(int a, int b);

void show();

int main() {

    int result = add(10,20);

    show();

    return 0;

}

//函数的实现

int add(int a, int b){

    int result = a + b;

    return result;

}

void show(){

    printf("hello world");

}

传值:1.传地址,如上。2.直接赋值:改变不了temp的值,只改变a的值

int main() {

    //密码 123abc

    /**

    * 数据的持久化 file文件保存数据

    * c语言中 文件主要存储 正常的数据 字符串 结构体

    * 文件的相关操作

    * 1.创建文件

    * 2.打开文件

        fopen(文件的完整路径,文件的读写模式)

    * 3.写入数据

    *  fputc  写入一个字符

    *  fputs  写入一个字符串

    *  fwrite

    * 4.读取数据

        fgetc

        fgets

        fread

    * 5.关闭文件

    *

    * 读写模式:

    *  r:  读 (文件必须存在)

    *  w:  写  (如果文件不存在 直接创建 会删除之前的内容 从头开始写)

    *  a:  写  (定位到文件的末尾 写入数据)

    *  r+  可读可写

    *  w+  可读可写

    *  a+  可读可写

    */

    //打开文件 如果不存在就创建

    //fopen("C:\\Users\\czp\\Desktop\\1.txt",)

    FILE *fp = fopen("/Users/pengxiaodong/Desktop/1.txt",

                      "r");

    //写入字符串

    //fputs("hello android", fp);

    //读取数据

    //数据存在哪里

    //最多读多少个字符

    //从哪里读

    char str[50] = {};

    fgets(str,50,fp);

    printf("%s\n", str);

    //关闭文件

    fclose(fp);

    return 0;

}


int main() {

    //密码 123abc

    /**

    * 数据的持久化 file文件保存数据

    * c语言中 文件主要存储 正常的数据 字符串 结构体

    * 文件的相关操作

    * 1.创建文件

    * 2.打开文件

        fopen(文件的完整路径,文件的读写模式)

    * 3.写入数据

    *  fputc  写入一个字符

    *  fputs  写入一个字符串

    *  fwrite

    * 4.读取数据

        fgetc

        fgets

        fread

    * 5.关闭文件

    *

    * 读写模式:

    *  r:  读 (文件必须存在)

    *  w:  写  (如果文件不存在 直接创建 会删除之前的内容 从头开始写)

    *  a:  写  (定位到文件的末尾 写入数据)

    *  r+  可读可写  (写:会覆盖之前的内容 读:从当前位置开始读)

    *  w+  可读可写  (写:删掉之前的内容  读:指针指向末尾)

    *  a+  可读可写  (写:末尾接着写 读:指针指向末尾)

    */

    //打开文件 如果不存在就创建

    //fopen("C:\\Users\\czp\\Desktop\\1.txt",)

    FILE *fp = fopen("/Users/pengxiaodong/Desktop/1.txt",

                      "a+");

    //fputs("hello android", fp);

    //hello androido android

    //改变当前指针的位置

    //SEEK_SET 指针跳到开头

    //SEEK_CUR 指针跳到当前位置

    //SEEK_END 指针跳到末尾

    fseek(fp,0,SEEK_SET);

    char str[50] = {};

    fgets(str,50,fp);

    printf("%s\n", str);

    //关闭文件

    fclose(fp);

    return 0;

}


#include <stdio.h>

/**

第一次运行程序:请设置密码:

第二次运行程序:请输入密码:

*/

int main() {

    //读取文件的内容:密码

    FILE *fp = fopen("/Users/pengxiaodong/Desktop/1.txt",

                    "a+");

    //将文件指针移到开头

    fseek(fp,0,SEEK_SET);

    //读取文件的内容

    char pwd[50] = {};

    fgets(pwd,50,fp);

    //判断有没有内容

    if (pwd[0] != '\0'){

        printf("请输入密码:");

    } else{

        printf("请设置密码:");

    }

    //接收用户的输入

    char input[50] = {};

    scanf("%s", input);

    if (pwd[0] == '\0'){

        fseek(fp,0,SEEK_SET);

        //将密码写入文件

        fputs(input,fp);

        //提示

        printf("密码设置成功!!\n");

    }else{

        for (int i = 0; i < 50; ++i) {

            if (pwd[i] != '\0'){

                if (pwd[i] != input[i]){

                    //密码不同

                    printf("密码解锁失败!!\n");

                    break;

                }

            }else{

                if (input[i] == '\0'){

                    //密码一致

                    printf("密码解锁成功!!!\n");

                }else{

                    //密码不同

                    printf("密码解锁失败!!\n");

                }

                break;

            }

        }

    }

    return 0;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。