/**
* 函数 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;
}