文件指针

C++ primer 笔记(一)

。_饼干妹妹 提交于 2020-01-28 08:22:47
第1章 >> << 输入输出操作符返回 输出流std::cin, std::cout本身 endl输出换行,刷新与设备关联的buffer augument 实参 paremeter 形参 buit-in type 内置类型 manipulator 操纵符 第2章 C++是静态类型语言,编译时执行类型检查 wchar_t =L'a' 16位 float 6位有效数字 double 至少10位有效数字 long double 至少10位有效数字 赋值:对于unsigned越界赋值,结果等于该值对unsigned可能取值个数求模 例如:unsigned char c=336; //实际c=336%256=80 unsigned char c=-1; //实际c=-1%256=255 对于signed越界赋值,由编译器决定实际值 初始化不是赋值,初始化指创建变量并赋值,赋值是擦出当前值赋新值 内置类型初始化:在函数体外定义的变量初始化为0,函数体内定义的不自动初始化。 定义:分配存储空间,还可以指定初值 声明:向程序表明变量的类型,名字 extern声明:当有初始化式时则为定义 非const变量默认为extern,要使const变量能在其他文件中访问,则需显式指定为extern。const默认为定义它的文件的局部变量。 引用必须在定义时初始化,引用一经初始化,就始终指向同一个特定对象。

C(五)

不想你离开。 提交于 2020-01-27 22:16:12
文件 打开文件: fopen(char *s,“r”) : 返回文件指针,打开不成功返回NULL。 打开方式: r : 只读,文本文件。 w : 只写,文本文件,创建新的并打开文件,无论是否存在,都创建新的,不是在原文件上动手脚。 a : 只写,文本文件,文件位置指针到最后,在文件末尾写。 b : 与上面结合表示打开二进制文件。 (+) :与上边结合表示读写。 feof(fp) : 判断文件位置指针是否到文件末尾,读到末尾返回真值。 关闭文件 fclose§; FILE * p = fopen ( "D:\\demo.txt" , "r" ) ; //D:\\两个反斜杠因为转义字符 文件读写 文件有一个文件指针和一个不可见的读写位置指针,每读写多少文件位置指针就后移多少,文件的读写都是从文件位置指针处开始的,要手动移动文件位置指针可用 fseek ( file * p , long offset , int fromwhere ) ; 从formwhere处移动offset个字节,来指示下一个要读写的数据位置。 offset 为正向后移动,为负向前移动,规定为长整型数据。 fromwhere: SEEK_SET或0:起始位置 SEEK_CUR或1:当前位置 SEEK_END或2:文件结尾 rewind ( file * p ) ; 将文件位置指针指向文件头。 按字符读写 fgetc

MySQL 索引深入剖析

点点圈 提交于 2020-01-27 19:02:41
1. 索引是什么? 1.1. 索引是什么 一张表有 500 万条数据,在没有索引的 name 字段上执行一条 where 查询: select * from user_innodb where name = ' 青山 ' ; 如果 name 字段上面有索引呢?在 name 字段上面创建一个索引,再来执行一下相 同的查询。 ALTER TABLE user_innodb DROP INDEX idx_name; ALTER TABLE user_innodb ADD INDEX idx_name (name); 有索引的查询和没有索引的查询相比,效率相差几十倍。 通过这个案例大家应该可以非常直观地感受到,索引对于数据检索的性能改善是非 常大的。 那么索引到底是什么呢?为什么可以对我们的查询产生这么大的影响?创建索引的 时候发生了什么事情? 1.1.1.索引定义 维基百科对数据库索引的定义: 数据库索引,是数据库管理系统(DBMS)中一个排序的数据结构,以协助快速查询、更新数据库表中数据。 数据是以文件的形式存放在磁盘上面的,每一行数据都有它的磁盘地址。如果没有 索引的话,我们要从 500 万行数据里面检索一条数据,只能依次遍历这张表的全部数据, 直到找到这条数据。 但是我们有了索引之后,只需要在索引里面去检索这条数据就行了,因为它是一种 特殊的专门用来快速检索的数据结构

虚拟机的共享文件夹设置

有些话、适合烂在心里 提交于 2020-01-27 04:30:10
文章目录 .c文件的编译和执行 共享文件夹 进阶 基本数据类型 内存占用和sizeof 全局变量 局部变量和全局变量的对比 常量 枚举常量 多文件 头文件 指针 指针与++-- .c文件的编译和执行 编译 gcc -o 生成文件名 .c文件名 gcc .c文件名 -o 生成文件名 使用-o选项就可以生成指定名称的可执行文件 gcc .c文件名 默认生成一个a.out的文件 执行 ./可执行文件 共享文件夹 一般使用Windows编辑源代码,使用Linux进行编译和执行,这时候就要进行交互 如何进行交互? 使用网络,smb服务器(现在不怎么常用) 使用共享文件夹 共享文件夹的创建 首先要安装增强功能 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ekFeqHfd-1577786732784)(en-resource://database/8838:1)] 安装总是无法发送虚拟光驱……到虚拟电脑? 这个时候要弹出光驱然后再次点击安装增强功能就OK了 如何弹出?(19的在没有虚拟光驱的图标,所以要这样做) [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dnV2Vyp7-1577786732786)(en-resource://database/8840:1)] 那个移除虚拟盘就是,不过要先勾选上Ubuntu…

C语言文件操作总结

泪湿孤枕 提交于 2020-01-25 01:22:24
文件的打开操作 fopen 打开一个文件,操作文件指针FILE *       文件的关闭操作 fclose 关闭一个文件       文件的读写操作 fgetc 从文件中读取一个字符               fputc 写一个字符到文件中去               fgets 从文件中读取一个字符串               fputs 写一个字符串到文件中去               fprintf 往文件中写格式化数据               fscanf 格式化读取文件中数据               fread 以二进制形式读取文件中的数据               fwrite 以二进制形式写数据到文件中去               getw 以二进制形式读取一个整数               putw 以二进制形式存贮一个整数     文件状态检查函数 feof 文件结束               ferror 文件读/写出错               clearerr 清除文件错误标志               ftell 了解文件指针的当前位置       文件定位函数 rewind 反绕               fseek 随机定位 一、文件打开关闭 (一)文件打开  1. 函数原型 FILE *fopen(char

C语言文件操作解析

爷,独闯天下 提交于 2020-01-24 04:12:42
转自:http://www.cnblogs.com/dolphin0520/archive/2011/10/05/2199396.html C语言文件操作解析(一) 在讨论C语言文件操作之前,先了解一下与文件相关的东西。 一.文本文件和二进制文件 文本文件的定义:由若干行字符构成的计算机文件,存在于计算机系统中。文本文件只能存储文件中的有效字符信息,不能存储图像、声音等信息。狭义上的二进制文件则指除开文本文件之外的文件,如图片、DOC文档。 事实上,无论是上面所定义的文本文件还是二进制文件,在计算机中存储都是以二进制的形式存储的,因此其本质并没有区别。所以广义上的二进制文件便指所有的文件。 通常意义下,我们所说的文本文件指只包含了纯文本信息的文件(通过手动编辑完成,包含的都是可显字符),二进制文件特指文件里面存储的是二进制代码的文件。至于为什么在计算机内存储的都是二进制数据,而给我们所呈现的确是文字、图像等信息,这跟计算机硬件组成有关系,因为计算机里面的元件是晶体管,其只有两种稳定的状态,因此二进制的0和1能表示其状态。很多个晶体管的不同状态的组合便呈现给我们不同的信息了。下面以汉字在计算机中的表示为例。 二.汉字在计算机中的表示 用计算机去处理汉字信息,必须对汉字进行编码,变成能被计算机识别的二进制。汉字编码主要有输入码、机内码、字形码三种。分别有不同的作用。 输入码

C语言文件操作

戏子无情 提交于 2020-01-24 04:10:26
C语言中没有输入输出语句,所有的输入输出功能都用ANSI C提供的一组标准库函数来实现。文件操作标准库函数有:       文件的打开操作 fopen 打开一个文件       文件的关闭操作 fclose 关闭一个文件       文件的读写操作 fgetc 从文件中读取一个字符               fputc 写一个字符到文件中去               fgets 从文件中读取一个字符串               fputs 写一个字符串到文件中去               fprintf 往文件中写格式化数据               fscanf 格式化读取文件中数据               fread 以二进制形式读取文件中的数据               fwrite 以二进制形式写数据到文件中去               getw 以二进制形式读取一个整数               putw 以二进制形式存贮一个整数     文件状态检查函数 feof 文件结束               ferror 文件读/写出错               clearerr 清除文件错误标志               ftell 了解文件指针的当前位置       文件定位函数 rewind 反绕               fseek 随机定位

C++ const总结

不问归期 提交于 2020-01-22 05:52:38
编程中是否遇到这样情况? (基本内容来源于C++ Prime) 1、用一个变量表示缓冲区的大小。当我们觉得不合适时,直接改变变量值即可,可以很方便调整缓冲区大小 2、但要警惕程序不小心改变了这个值 OK,遇到这样情况,使用const修饰符即可。 言简意赅,总结一下。 首先上目录: 1、const对象必须初始化。 2、默认情况下,cosnt对象只在文件内有效 3、const的引用 4、const与指针 5、 顶层const 和 底层const 6、C++常量折叠 7、const函数 8、const成员变量 1、const对象必须初始化。 因为const对象一旦创建,就不能改变了。 2、默认情况下,cosnt对象只在文件内有效 下面论述一下const对象和普通对象的区别。 (转载于http://blog.csdn.net/yipiantiandi/article/details/5822564) (const对象默认作用域为:文件作用域) (普通变量默认作用域:整个程序) 对于一般的对象 如 int a=9;;我们知道它的作用域是整个程序的,在1.cpp和2.cpp中包含同一个定义了int a=9;的头文件,因为int a=9;作用域是整个程序,所以会产生错误。 那为什么 const int a=9;不会产生错误呢。 原因就是const int a=9;的默认作用范围是文件作用域的。即

随笔_Python3中的文件读写

佐手、 提交于 2020-01-20 21:02:01
模式 r r+ w w+ a a+ 读 √ √ √ √ 写 √ √ √ √ √ 创建 √ √ √ √ 覆盖 √ √ 指针在开始 √ √ √ √ 指针在结尾 √ √ 参考文档: Python 文件I/O | 菜鸟教程   https://www.runoob.com/python/python-files-io.html 来源: https://www.cnblogs.com/Raine/p/10198498.html

3.1 Git分支 - 分支简介

北城余情 提交于 2020-01-18 03:02:27
几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。 在很多版本控制系统中,这是一个略微低效的过程——常常需要完全创建一个源代码目录的副本。对于大项目来说,这样的过程会耗费很多时间。 有人把 Git 的分支模型称为它的“必杀技特性”,也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出。 为何 Git 的分支模型如此出众呢? Git 处理分支的方式可谓是难以置信的轻量,创建新分支这一操作几乎能在瞬间完成,并且在不同分支之间的切换操作也是一样便捷。 与许多其它版本控制系统不同,Git 鼓励在工作流程中频繁地使用分支与合并,哪怕一天之内进行许多次。 理解和精通这一特性,你便会意识到 Git 是如此的强大而又独特,并且从此真正改变你的开发方式。 分支简介 为了真正理解 Git 处理分支的方式,我们需要回顾一下 Git 是如何保存数据的。 或许你还记得 入门 的内容,Git 保存的不是文件的变化或者差异,而是一系列不同时刻的文件快照。 在进行提交操作时,Git 会保存一个提交对象(commit object)。知道了 Git 保存数据的方式,我们可以很自然的想到——该提交对象会包含一个指向暂存内容快照的指针。 但不仅仅是这样,该提交对象还包含了作者的姓名和邮箱、提交时输入的信息以及指向它的父对象的指针