[C语言]-基础知识点梳理-文件管理
前言
- 各位师傅们好,我是qmx_07,今天给大家讲解文件管理的相关知识,也就是常见的 读取,删除一类的操作
文件
为什么要使用文件?
- 程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了
- 使用文件我们可以将数据直接存放在电脑的硬盘上,做到了数据的持久化
文件分类
- 在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的
- 程序文件:包括源程序⽂件(后缀为.c),⽬标⽂件(windows环境后缀为.obj),可执⾏程序(windows环境后缀为.exe)
- 数据⽂件:⽂件的内容不⼀定是程序,⽽是程序运⾏时读写的数据,⽐如程序运⾏需要从中读取数据的⽂件,或者输出内容的⽂件
- 文件名:⽂件路径+⽂件名主⼲+⽂件后缀
文件的打开和关闭
文件指针
1.每个被使⽤的⽂件都在内存中开辟了⼀个相应的⽂件信息区,⽤来存放⽂件的相关信息(如⽂件的名字,⽂件状态及⽂件当前的位置等)。这些信息是保存在⼀个结构体变量中的。该结构体类型是由系统声明的,取名FILE
2.每当打开一个文件的时候,系统会根据文件的情况自动创建一个FILE结构的变量,并填充其中的信息, 使用者不必关心细节。
3.一般都是通过一个FILE的指针来维护这个FILE结构的变量,这样使用起来更加方便
FILE* pf;//⽂件指针变量
- 定义pf是一个指向FILE类型数据的指针变量。可以使pf指向某个文件的文件信息区(是一个结构体变量)。通过该文件信息区中的信息就能够访问该文件。也就是说,通过文件指针变量能够找到与它关联的文件
文件的打开和关闭
- ⽂件在读写之前应该先打开⽂件,在使⽤结束之后应该关闭⽂件。
- ANSIC规定使⽤ fopen 函数来打开⽂件, fclose 来关闭⽂件
//打开⽂件
FILE * fopen ( const char * filename, const char * mode );
//关闭⽂件
int fclose ( FILE * stream );
mode表⽰⽂件的打开模式,下⾯都是⽂件的打开模式:
代码实例
#include <stdio.h>
#include <errno.h>
int main()
{FILE* pf = fopen("C:\\Users\\ASUS\\Desktop\\test.txt", "r");if (pf == NULL){printf("%s\n", strerror(errno));return 1;}//读文件//关闭文件fclose(pf);pf = NULL;return 0;
}
文件的顺序读写
写字符
写字符函数:
int fputc ( const char * str, FILE * stream );
代码实例:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <errno.h>
int main()
{FILE* pf = fopen("G:\\c_test\\test.txt", "w");if (pf == NULL){printf("%s\n", strerror(errno));return 1;}//写文件fputc('a', pf);//关文件fclose(pf);pf = NULL;return 0;
}
查看目录内容:
读取字符
读取字符函数原型:
int fgetc ( const char * str, FILE * stream );
代码实例:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <errno.h>
int main()
{FILE* pf = fopen("G:\\c_test\\test.txt", "r");if (pf == NULL){printf("%s\n", strerror(errno));return 1;}//写文件int ch = fgetc( pf);printf("%c", ch);//关文件fclose(pf);pf = NULL;return 0;
}
- 返回类型为 int 以适应特殊值 EOF,这表示失败.基于此,我们可以循环输出:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <errno.h>
int main()
{FILE* pf = fopen("G:\\c_test\\test.txt", "r");if (pf == NULL){printf("%s\n", strerror(errno));return 1;}//写文件int ch = 0;while ((ch = fgetc(pf)) != EOF){printf("%c", ch);}printf("%c", ch);//关文件fclose(pf);pf = NULL;return 0;
}
写一行数据
函数原型:
int fputs ( const char * str, FILE * stream );
代码实例:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <errno.h>
int main()
{FILE* pf = fopen("G:\\c_test\\test.txt", "w");if (pf == NULL){printf("%s\n", strerror(errno));return 1;}//写文件fputs("hello", pf);//关文件fclose(pf);pf = NULL;return 0;
}
- “w"模式会覆盖文件内容,可以尝试使用"a”
#include <stdio.h>
#include <errno.h>
int main()
{FILE* pf = fopen("test.txt", "a");if (pf == NULL){printf("%s\n", strerror(errno));return 1;}//写一行数据fputs("hello", pf);fclose(pf);pf = NULL;return 0;
}
读取一行数据
函数原型:
char * fgets ( char * str, int num, FILE * stream );
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <errno.h>
int main()
{FILE* pf = fopen("G:\\c_test\\test.txt", "r");if (pf == NULL){printf("%s\n", strerror(errno));return 1;}//读取文件char arr[20];fgets(arr, 5,pf);printf("%s\n", arr);//关文件fclose(pf);pf = NULL;return 0;
}
- 读5个数据,真正读到的才4个,还有一个’\0’
格式化输出
函数原型:
int fprintf ( FILE * stream, const char * format, ... );
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <errno.h>
struct S
{char arr[10];int age;float score;
};int main()
{struct S s = { "zhangsan",25,50.5f };FILE* pf = fopen("G:\\c_test\\test.txt", "w");if (pf == NULL){printf("%s\n", strerror(errno));return 1;}fprintf(pf, "%s %d %f", s.arr, s.age, s.score);//关文件fclose(pf);pf = NULL;return 0;
}
格式化输入
函数原型:
int fscanf ( FILE * stream, const char * format, ... );
代码实例:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <errno.h>
struct S
{char arr[10];int age;float score;
};int main()
{struct S s = { 0 };FILE* pf = fopen("G:\\c_test\\test.txt", "r");if (pf == NULL){printf("%s\n", strerror(errno));return 1;}fscanf(pf, "%s %d %f", s.arr, &(s.age), &(s.score));printf("%s %d %f", s.arr, s.age, s.score);//关文件fclose(pf);pf = NULL;return 0;
}
二进制输出
函数原型:
size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );
代码实例:
struct S
{char arr[10];int age;float score;
};
int main()
{struct S s = { "zhangsan",25,50.5f };//以二进制形式写到文件中FILE* pf = fopen("test.txt", "w");if (pf == NULL){perror("fopen");return 1;}//二进制的方式写fwrite(&s, sizeof(struct S), 1, pf);fclose(pf);pf = NULL;
}
二进制输入
函数原型:
size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>struct S
{char arr[10];int age;float score;
};
int main()
{struct S s = { 0};//以二进制形式写到文件中FILE* pf = fopen("G:\\c_test\\test.txt", "r");if (pf == NULL){perror("fopen");return 1;}//二进制的方式读取fread(&s, sizeof(struct S), 1, pf);printf("%s %d %f", s.arr, s.age, s.score);fclose(pf);pf = NULL;
}
文件随机读写
- 随机读写:不从首个位置开始,而可以选择任意位置
fseek
函数原型:
int fseek ( FILE * stream, long int offset, int origin );
文本内容:
代码实例:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <errno.h>
int main()
{FILE* pf = fopen("G:\\c_test\\test.txt", "r");if (pf == NULL){printf("%s\n", strerror(errno));return 1;}//读文件//定位文件指针fseek(pf, 2, SEEK_SET);int ch = fgetc(pf);printf("%c\n", ch);ch = fgetc(pf);printf("%c\n", ch);fclose(pf);pf = NULL;return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <errno.h>
int main()
{FILE* pf = fopen("G:\\c_test\\test.txt", "r");if (pf == NULL){printf("%s\n", strerror(errno));return 1;}//读文件//定位文件指针fseek(pf, 2, SEEK_SET);int ch = fgetc(pf);printf("%c\n", ch);fseek(pf, 2, SEEK_CUR);ch = fgetc(pf);printf("%c\n", ch);fclose(pf);pf = NULL;return 0;
}
- SEEK_CUR就是在当前位置,在进行跳转
ftell
函数原型:
long int ftell ( FILE * stream );
- 概念:返回文件指针相对于起始位置的偏移量
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <errno.h>
int main()
{FILE* pf = fopen("G:\\c_test\\test.txt", "r");if (pf == NULL){printf("%s\n", strerror(errno));return 1;}//读文件//定位文件指针fseek(pf, 2, SEEK_SET);int ch = fgetc(pf);printf("%c\n", ch);printf("%d\n", ftell(pf));//3//fseek(pf, 2, SEEK_CUR);fseek(pf, -1, SEEK_END);ch = fgetc(pf);printf("%c\n", ch);printf("%d\n", ftell(pf));//6fclose(pf);pf = NULL;return 0;
}
rewind
函数原型:
void rewind ( FILE * stream );
- 概念:返回到文件起始位置
代码实例:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <errno.h>
int main()
{FILE* pf = fopen("G:\\c_test\\test.txt", "r");if (pf == NULL){printf("%s\n", strerror(errno));return 1;}//读文件//定位文件指针fseek(pf, 2, SEEK_SET);int ch = fgetc(pf);printf("%c\n", ch);rewind(pf);ch = fgetc(pf);printf("%c\n", ch);fclose(pf);pf = NULL;return 0;
}
文本文件和二进制文件
- 根据数据的组织形式,数据⽂件被称为⽂本⽂件或者⼆进制⽂件。
- 数据在内存中以⼆进制的形式存储,如果不加转换的输出到外存的⽂件中,就是⼆进制⽂件。
- 如果要求在外存上以ASCII码的形式存储,则需要在存储前转换。以ASCII字符的形式存储的⽂件就是⽂本⽂件。
- ⼀个数据在⽂件中是怎么存储的呢?
- 字符⼀律以ASCII形式存储,数值型数据既可以⽤ASCII形式存储,也可以使⽤⼆进制形式存储
文件读取和结束的判定
-
牢记:在文件读取过程中,不能用feof函数的返回值直接用来判断文件的是否结束
-
而是应用于当文件读取结束的时候,判断是读取失败结束,还是遇到文件尾结束
文本文件读取是否结束,判断返回值是否为 EOF ( fgetc ),或者 NULL ( fgets)
例如:
fgetc 判断是否为 EOF .
fgets 判断返回值是否为 NULL
- 二进制文件的读取结束判断,判断返回值是否小于实际要读的个数。例如:
fread判断返回值是否小于实际要读的个数。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{int c; // 注意:int,非char,要求处理EOFFILE* fp = fopen("test.txt", "r");if(!fp) {perror("File opening failed");return EXIT_FAILURE;}
//fgetc 当读取失败的时候或者遇到文件结束的时候,都会返回EOFwhile ((c = fgetc(fp)) != EOF) // 标准C I/O读取文件循环{putchar(c);}//判断是什么原因结束的if (ferror(fp))puts("I/O error when reading");else if (feof(fp))puts("End of file reached successfully");fclose(fp);
}
文件缓冲区
ANSIC 标准采用“缓冲文件系统”处理的数据文件的,所谓缓冲文件系统是指系统自动地在内存中为程序中每一个正在使用的文件开辟一块“文件缓冲区”。从内存向磁盘输出数据会先送到内存中的缓冲区,装满缓冲区后才一起送到磁盘上。如果从磁盘向计算机读入数据,则从磁盘文件中读取数据输入到内存缓冲区(充满缓冲区),然后再从缓冲区逐个地将数据送到程序数据区(程序变量等)。缓冲区的大小根据C编译系统决定的。
- 因为有缓冲区的存在,C语言在操作文件的时候,需要做刷新缓冲区或者在文件操作结束的时候关闭文 件。如果不做,可能导致读写文件的问题。
相关文章:
![](https://i-blog.csdnimg.cn/direct/fc4697f8861348ac8820fbf6d9cb10b0.png)
[C语言]-基础知识点梳理-文件管理
前言 各位师傅们好,我是qmx_07,今天给大家讲解文件管理的相关知识,也就是常见的 读取,删除一类的操作 文件 为什么要使用文件? 程序的数据是存储在电脑的内存中,如果程序退出,内存回收&…...
![](https://img-blog.csdnimg.cn/img_convert/5c2a043a555365e66f866b256645ec99.jpeg)
pcdn闲置带宽被动收入必看教程。第五讲:光猫更换和基础设置
PCDN闲置带宽被动收入必看教程 —— 第五讲:光猫更换和基础设置 为了从闲置带宽中获得被动收入,高效的网络设备至关重要。运营商提供的光猫通常能满足日常家用需求,但对于PCDN应用来说,它们可能不足以提供所需的高性能和稳定性。…...
![](https://img-blog.csdnimg.cn/img_convert/6b6093a5d8f8cab4144c01dc2f5dddf8.jpeg)
工业数据采集网关简介-天拓四方
随着工业4.0和物联网(IoT)技术的深入发展,工业数据采集网关作为连接现场设备与上层管理系统的关键节点,其在智能工厂中的作用愈发凸显。本文将深入探讨工业数据采集网关的功能、特点、应用场景及其实操性,以期为读者提…...
![](https://i-blog.csdnimg.cn/direct/d3ce2ee597fe4aff8e2cf0ea6cfc99bd.png)
Java 调整字符串,验证码生成
package text7;public class ZiFanz {public static void main(String[] args) {//1.定义两个字符串String strA "abcde";String strB "deabc";//2.abcde->bcdea->cdeab->deabc旋转字符串//旋转并比较boolean result cheak(strA, strB);System…...
![](https://i-blog.csdnimg.cn/direct/b5c7a4f13e4642a8822f93d7066c0c36.png)
【专题】全球商用服务机器人市场研究(2023)报告合集PDF分享(附原数据表)
原文链接:https://tecdat.cn/?p37366 近年来,随着人工智能、物联网和自动化技术的不断进步,商用服务机器人行业迅速崛起,展现出广阔的发展前景。从最初的实验室研发到如今的规模化应用,商用服务机器人已逐渐成为各行…...
![](https://i-blog.csdnimg.cn/direct/fdabec0c6c514d4aa64d6025032e3065.png)
SQL UA注入 (injection 第十八关)
简介 SQL注入(SQL Injection)是一种常见的网络攻击方式,通过向SQL查询中插入恶意的SQL代码,攻击者可以操控数据库,SQL注入是一种代码注入攻击,其中攻击者将恶意的SQL代码插入到应用程序的输入字段中&a…...
![](https://i-blog.csdnimg.cn/direct/06061195f5034a27a72e2d4309a0ebeb.png)
初阶数据结构之计数排序
非比较排序 计数排序 计数排序⼜称为鸽巢原理,是对哈希直接定址法的变形应⽤。 操作步骤: 1)统计相同元素出现次数 2)根据统计的结果将序列回收到原来的序列中 #include "CountSort.h" void Count(int* arr, int n)…...
![](https://i-blog.csdnimg.cn/direct/009c8d2cbed34971a2041dc72b5fffda.png)
【开端】记一次诡异的接口排查过程
一、绪论 最近碰到这么一个情况,接口请求超时。前提是两台服务器间的网络是畅通的,端口也是通,应用代码也是通。意思是在应用上,接口没有任何报错,能正常返回数据。客户端到服务端接口也能通,但是接收不到服…...
![](https://i-blog.csdnimg.cn/direct/488c3f8095b243288378632a4c889580.png)
jenkins最佳实践(二):Pipeline流水线部署springCloud微服务项目
各位小伙伴们大家好呀,我是小金,本篇文章我们将介绍如何使用Pipeline流水线部署我们自己的微服务项目,之前没怎么搞过部署相关的,以至于构建流水线的过程中中也遇到了很多自己以前没有考虑过的问题,特写此篇࿰…...
![](https://i-blog.csdnimg.cn/direct/433615690d4e43978b41541e771843ab.png#pic_center)
第2章 C语言基础知识
第2章 C语言基础知识 1.printf()函数 在控制台输出数据,需要使用输出函数,C语言常用的输出函数为printf()。 printf()函数为格式化输出函数,其功能是按照用户指定的格式将数据输出到屏幕上。 printf(“格式控制字符串”,[输出列表]); 格式控…...
![](https://i-blog.csdnimg.cn/direct/aa8cfe909b314e2cb1b966869d30bfb2.jpeg#pic_center)
鹭鹰优化算法SBOA优化RBF神经网络的扩散速度实现多数入多输出数据预测,可以更改数据集(MATLAB代码)
一、鹭鹰优化算法介绍 鹭鹰优化算法(Secretary Bird Optimization Algorithm, SBOA)是一种新型的元启发式算法,它于2024年4月由Youfa Fu等人提出,并发表在SCI人工智能二区顶刊《Artificial Intelligence Review》上。该算法的灵感…...
![](https://i-blog.csdnimg.cn/direct/61befcba12bd45b58dc2c08e433751fe.png)
MySQL基础练习题48-连续出现的数字
目录 题目 准备数据 分析数据 题目 找出所有至少连续出现三次的数字。 准备数据 ## 创建库 create database db; use db;## 创建表 Create table If Not Exists Logs (id int, num int)## 向表中插入数据 Truncate table Logs insert into Logs (id, num) values (1, 1) i…...
![](https://i-blog.csdnimg.cn/direct/9418d289348447f6a4532fd6c74bc6d8.png)
webrtc学习笔记2
音视频采集和播放 打开摄像头并将画面显示到页面 1. 初始化button、video控件 2. 绑定“打开摄像头”响应事件onOpenCamera 3. 如果要打开摄像头则点击 “打开摄像头”按钮,以触发onOpenCamera事件的调用 4. 当触发onOpenCamera调用时 a. 设置约束条件,…...
![](https://i-blog.csdnimg.cn/direct/78488bc8a8d64c3e8c2b14f3ec6cec17.jpeg#pic_center)
Simple RPC - 06 从零开始设计一个服务端(上)_注册中心的实现
文章目录 Pre核心内容服务端结构概述注册中心的实现1. 注册中心的架构2. 面向接口编程的设计3. 注册中心的接口设计4. SPI机制的应用 小结 Pre Simple RPC - 01 框架原理及总体架构初探 Simple RPC - 02 通用高性能序列化和反序列化设计与实现 Simple RPC - 03 借助Netty实现…...
![](https://www.ngui.cc/images/no-images.jpg)
【深度学习】基于Transformers的大模型推理框架
本文旨在介绍基于transformers的decoder-only语言模型的推理框架。与开源推理框架不同的是: 本框架没有利用额外的开源推理仓库,仅基于huggingface,transformers,pytorch等原生工具进行推理,适合新手学习大模型推理流…...
![](https://i-blog.csdnimg.cn/direct/d7585aa78dc04f0e8c70d27db5031cf0.png)
电脑监控怎样看回放视频?一键解锁电脑监控回放,守护安全不留死角!高效员工电脑监控,回放视频随时查!
你是否曾好奇那些键盘敲击背后的秘密?电脑监控不仅是守护企业安全的隐形盾牌,更是揭秘高效与合规的魔法镜!一键解锁安企神监控回放,就像打开时间宝盒,让过去的工作瞬间跃然眼前。无论是精彩瞬间还是潜在风险࿰…...
![](https://i-blog.csdnimg.cn/direct/dff65b4d04c24307bd2d823a70f9c3b7.png#pic_center)
【一起学Rust | 框架篇 | Tauri2.0框架】tauri中rust和前端的相互调用(rust调用前端)
文章目录 前言1. rust中调用前端2. 如何向前端发送事件3. 前端监听事件4. 执行js代码 前言 近期Tauri 2.0 rc版本发布,2.0版本迎来第一个稳定版本,同时官方文档也进行了更新。Tauri是一个使用Rust构建的框架,可以让你使用前端技术来构建桌面…...
![](https://i-blog.csdnimg.cn/direct/2c8fe034e25144db876a5f1a5665a38a.png)
deque容器
deque容器的基本概念 deque 是 C 标准库中的双端队列(double-ended queue)容器,提供了在两端进行插入和删除操作的功能。 deque与vector区别: vector对于头部的插入删除效率低,数据量越大效率越低。deque相对而言&am…...
![](https://www.ngui.cc/images/no-images.jpg)
Redis远程字典服务器(9)—— 类型补充
类型查询传送门:Understand Redis data types | Docs 一,stream类型 官方文档对于这个类型的解释是:streams是一个数据结构,它表现得像一个 “append-only log”,就是只能往后面添加,底层是字符串&#x…...
![](https://i-blog.csdnimg.cn/direct/93c47cde17c54e1fb852a196eba263a5.png)
VMware虚拟机nat无法联通主机
VMware在nat模式下主机无法ping通虚拟机 原因: 虚拟机和对应的网卡不在一个网段 虚拟机开启了防火墙 解决方法: 首先判断虚拟机的网络ip是否和网卡在一个网段上 判断虚拟机使用的网卡 nat模式在VMware虚拟机中一般只有一个对应的网卡 如图笔者的nat网卡为VM…...
![](https://i-blog.csdnimg.cn/direct/0f9f4736f3904b6ab021b25011fe96be.png)
「字符串」详解AC自动机并实现对应的功能 / 手撕数据结构(C++)
目录 前置知识 概述 核心概念:fail指针 作用 构建 图示 Code 成员变量 创建销毁 添加词库 文本扫描 复杂度 Code 前置知识 在此前,你应该首先了解trie树(字典树)的概念: 「字符串」详解Trie࿰…...
![](https://i-blog.csdnimg.cn/direct/add618b7faec4e3387468eb64d0eb673.png)
freecad遭遇网络不同无法安装插件Addon Manager: Unexpected 0 response from server
16:31:18 Addon Manager: Unexpected 0 response from server 16:31:18 Failed to connect to GitHub. Check your connection and proxy settings. 打开freecad的插件管理器时候,有些地方,比如我在家里就不行,在公司就ok。 于是找到了解…...
![](https://www.ngui.cc/images/no-images.jpg)
Ruby模板引擎:构建动态视图的艺术
标题:Ruby模板引擎:构建动态视图的艺术 在Ruby on Rails的世界里,模板引擎是构建动态网页的基石。它们允许开发者将服务器端的逻辑嵌入到HTML中,实现数据的动态展示。本文将深入探讨Ruby中几种常用的模板引擎,包括ERB…...
![](https://i-blog.csdnimg.cn/direct/37029b3f7062447f93db6b577755634a.png)
HarmonyOS NEXT星河版零基础入门(3)
目录 1. 系统弹出框 2.interface转成class类 3.vp/fp 4. 写一个正方形 设置它的宽度 但不设定高度 不论屏幕怎么变实现他的宽高比 5.State 6.图片和资源 7.淘宝镜像 7.1windows 脚本禁用(操作策略 允许npm包的命令可执行) 8. es6&ArkTS中…...
![](https://www.ngui.cc/images/no-images.jpg)
第二十讲 python中的异常结构-try except-else-finally
目录 1.try... except 结构 2. try... 多个except结构 3. try...except...else结构 4. try...except...finally结构 5. return语句和异常处理问题 5.1 异常处理前的 return 5.2异常处理后的 return 5.3 finally 块中的 return 6.常见的异常 1.try... except 结构 try except 是…...
![](https://i-blog.csdnimg.cn/direct/e823c97958164b32a3d53944d0a5e602.png)
springer 投稿系统中返修注意点
初次提交 初次提交时, manuscript 提交的是 pdf 文件 返修后提交 在经过返修之后需要提交的是注意一下几点: 此时提交的Blined manuscript ,虽然名字没变,但不能再提交pdf 文件, 而需要提交的是可编辑的源文件 .te…...
![](https://www.ngui.cc/images/no-images.jpg)
CSS:display和visiblity
隐藏元素- display:none和visibility:hidden display 属性设置一个元素应如何显示,visibility 属性指定一个元素应可见还是隐藏。 隐藏一个元素可以通过吧display属性设置为“none”,或者把visibility属性设置为“hidden”。但是这两种会产生不同的结果…...
![](https://i-blog.csdnimg.cn/direct/5fda22f45dcb433488d60e260fe66350.png)
43.x86游戏实战-XXX寻找吸怪坐标
免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 工具下载: 链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…...
![](https://www.ngui.cc/images/no-images.jpg)
Redis地理位置相关应用
下面是一个结合 MySQL 数据库和 Redis 的地理位置服务示例,包含表结构、PHP 代码和 Redis 操作,用于处理基于地理位置的数据存储和查询。 1. 创建 MySQL 数据库表 首先,创建一个用于存储位置信息的 MySQL 表,如下所示࿱…...
![](https://i-blog.csdnimg.cn/direct/f69ed7f1ba5e4405861207252c3d5dac.png)
优化WAN流量:如何通过调整系统设置降低企业网络成本
一、症状与问题背景 当电脑显示空闲状态时,如果满足以下条件,第二拨号链接可能会意外激活: 您正在使用基于 Microsoft Windows 的计算机,该计算机连接到远程网络并且是 Active Directory 域服务 (AD DS) 域的成员。 您通过二级…...
![](https://img-blog.csdnimg.cn/img_convert/18a699c6cc4efb9d557db44938123d5c.png)
网站建设费税率/网站的seo
译文出自:登链翻译计划译者:翻译小组校对:Tiny 熊原文链接:learnblockchain.cn/article…欢迎阅读跟我学习 Solidity系列中的另一篇文章。在上一篇文章,中,我们了解了数据位置的工作方式以及何时可以使用以下三个位置&…...
![](/images/no-images.jpg)
成都建设银行官方网站/百度问答平台
http://codeforces.com/problemset/problem/1213/E 题目大意:给两个字符串SSS和TTT,它们的长度均为222,且只包含字符a,b,ca,b,ca,b,c。对于给定的nnn,问能否找到一个长为3∗n3*n3∗n的字符串resresres,使得resresres恰…...
![](https://img-blog.csdnimg.cn/20201024113959487.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDc3NDI1NQ==,size_16,color_FFFFFF,t_70#pic_center)
源码下载网站/太原网站建设
学习参考借鉴 前言Feature scaling(特征缩放),常见的提法有“特征归一化”、“标准化”,是数据预处理中的重要技术,有时甚至决定了算法能不能work以及work得好不好。谈到feature scaling的必要性,最常用的2…...
![](/images/no-images.jpg)
地图素材如何做ppt模板下载网站/销售平台
干掉庞大的Binlog文件 想要恢愎数据库以前的资料,执行:show binlog events;屏幕就开始闪,闪的人眼花,心里烦(那有这么多没有用的破LOG^0^),还是删除一些去吧!1.查找binary logs mysql> show binary logs; --------------------------- | Log_name | File_size | -----…...
![](https://www.oschina.net/img/hot3.png)
网站代码怎么优化/合肥最新消息今天
2019独角兽企业重金招聘Python工程师标准>>> resultMap 元素是 MyBatis 中最重要最强大的元素。它就是让你远离从结果集中取出数据的JDBC 代码的那个东西,而且在一些情形下允许你做一些JDBC不支持的事情。ResultMap 的设计就是对于一些简单的语句我们不需要明确它们…...
建设网站交纳党费/怎么建自己的网站?
用SQL Server2005同义词链接Oracle数据库可以将Oracle中的表,视图等映射到SQL2005中,直接在SQL2005中操作Oracle的数据,非常简单方便。 下面具体一部一部讲解如何实现的。 环境:Windows2005SQL2005,数据库名字为amd Or…...