2022年11月

部署

  1. 上传到网站根目录,其目录名为网站域名
  2. 解压
  3. 访问:通过 域名/文件名 访问,如 liveout.cn/caidan

教程

https://www.bilibili.com/video/BV1eG4y147ZP/?spm_id_from=333.999.0.0


演示:https://shibobo.github.io/happybirthday/

-->  GitHubshibobo/happybirthday  部署上传到网站根目录,其目录名为网站域名解压访问:通过 域名/文件名 访问,如 liveout.cn/caidan教程https://www.bilibili.com/video/BV1eG4y147ZP/?spm_id_from=333.999.0.0演示:https://shibobo.github.io/happybirthday/

iPhone8

前言

小时候一直想体验一下苹果手机,感受其丝滑,奈何条件有限,一直没有机会。高考后拿到了亲人淘汰的iPhoen8,苹果最后带有home键的手机。

现在的手机已进入了全面屏时代,屏幕变得越来越大,电量越来越多,一只手能够操作的手机越来越少。于是心血来潮的我将战损版小8换了个屏幕和电池,与我的米11搭配使用

背景

iPhone 8于2017年9月12日上午10点(北京时间2017年9月13日凌晨1点)在美国史蒂夫·乔布斯剧院发布。其采用了6核心的A11 Bionic处理器,前后双玻璃材质,并且采用了航空级铝材质,并且有着Retina显示屏。支持无线充电,可快速充电,30分钟最多可充至50%电量。

iPhone 8高度:138.4毫米(5.45英寸);宽度:67.3毫米(2.65英寸);厚度:7.3毫米(0.29英寸);重量:148克(5.22盎司)

原因

记得上个月看了三篇文章:

  1. 我为什么同时使用两部手机:成为双持党的理由与经验分享 - idealclover
  2. 9102年都快过了,这 iPhone SE 还香吗? - idealclover
  3. iPhone SE 2020 测评:我用爽了,但也许你并不需要 - idealclover

感觉其说的很有道理,于是便将小8重出江湖。与米11相比,它足够的小,可以让我一只手拿捏它。而且我的米11已经经历了一次烧WIFI的体验,所以我知道一个备用机的重要性。

还有就是学习时手机上的软件诱惑性太大了,王者、抖音、B站等等,每次学一会就会不自觉的拿起手机来玩。其次自从搭建了网站,发布B站教程后,邮件,QQ等消息太多,所以我需要一个专门用来接收消息的手机。就这样,小八浴火重生。

iPhone8_2

 

使用

给小八换了个高容电池,虽然只有2000多毫安,但日常接收消息也够用了。尽管已经是五年前的产品了,但是A11依然坚挺,日常使用完全没有问题。

对于日常发消息打字,虽然小8屏幕比较小,但好在我是九键用户(haha,小时候老年机打字大多了),加上搜狗的智能纠错,打字速度基本无问题。

并且下个RSS软件,订阅一些常看的博主文章,逃离大数据推荐,也挺好的。

还可以下个 微软ToDo 或者 番茄ToDo ,进行任务规划。

至于游戏、视频等娱乐项目,全由米11代替,真好,各司其职。

总结

自律性不足,并且没钱瞎折腾。但是对于重度手机用户,小8还是能够减少我刷视频时间,督促我学习的。

--> 前言小时候一直想体验一下苹果手机,感受其丝滑,奈何条件有限,一直没有机会。高考后拿到了亲人淘汰的iPhoen8,苹果最后带有home键的手机。现在的手机已进入了全面屏时代,屏幕变得越来越大,电量越来越多,一只手能够操作的手机越来越少。于是心血来潮的我将战损版小8换了个屏幕和电池,与我的米11搭配使用背景iPhone 8于2017年9月12日上午10点(北京时间2017年9月13日凌晨1点)在...

Java期末知识点 (上)

http://space.eyescode.top/blog/details/85

Java期末知识点 (下)

http://space.eyescode.top/blog/details/88

Java期末题型复习

http://space.eyescode.top/blog/details/89

转载标注

以上文章均为 瞳孔大佬所写,其博客地址为:

瞳孔空间 | 首页 (eyescode.top)

--> Java期末知识点 (上)http://space.eyescode.top/blog/details/85Java期末知识点 (下)http://space.eyescode.top/blog/details/88Java期末题型复习http://space.eyescode.top/blog/details/89转载标注以上文章均为 瞳孔大佬所写,其博客地址为:瞳孔空间 | 首页 (ey...

输入

gets()

不保留换行符

读取整行输入,直至遇到换行符,然后丢弃换行符,存储其余字符,并且在末尾添加空字符 \0


fgets()

保留换行符

从指定的流 stream 读取一行,并把它存储在 str 所指向的字符串内。当读取 (n-1) 个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。

char *fgets(char *str, int n, FILE *stream)
  • str -- 这是指向一个字符数组的指针,该数组存储了要读取的字符串。
  • n -- 这是要读取的最大字符数(包括最后的空字符)。通常是使用以 str 传递的数组长度。
  • stream -- 这是指向 FILE 对象的指针,该 FILE 对象标识了要从中读取字符的流
#include <stdio.h>

int main()
{
   FILE *fp;
   char str[60];

   /* 打开用于读取的文件 */
   fp = fopen("file.txt" , "r");
   if(fp == NULL) {
      perror("打开文件时发生错误");
      return(-1);
   }
   if( fgets (str, 60, fp)!=NULL ) {
      /* 向标准输出 stdout 写入内容 */
      puts(str);
   }
   fclose(fp);
   
   return(0);
}


输出

put

显示字符串时会自动在末尾添加换行符

fputs

末尾不会添加换行符


1. 统计长度

strlen():

int a;
char str[n];
a = strlen(str);


2. 拼接字符串

strcat()

src 所指向的字符串追加到 dest 所指向的字符串的结尾

char *strcat(char *dest, const char *src)
  • dest -- 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串。
  • src -- 指向要追加的字符串,该字符串不会覆盖目标字符串。

该函数返回一个指向最终的目标字符串 dest 的指针

char src[50], dest[50];
strcpy(src,  "This is source");
strcpy(dest, "This is destination");
strcat(dest, src);

最终的目标字符串: This is destinationThis is source|


strncat()

src 所指向的字符串追加到 dest 所指向的字符串的结尾,直到 n 字符长度为止。

char *strncat(char *dest, const char *src, size_t n)
  • dest -- 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串,包括额外的空字符。
  • src -- 要追加的字符串。
  • n -- 要追加的最大字符数。

该函数返回一个指向最终的目标字符串 dest 的指针。

 char src[50], dest[50];
strcpy(src,  "This is source");
strcpy(dest, "This is destination");
strncat(dest, src, 15);

最终的目标字符串: This is destinationThis is source|


3. 比较字符串

strcmp()

int strcmp(const char *str1, const char *str2)
  • str1 -- 要进行比较的第一个字符串。
  • str2 -- 要进行比较的第二个字符串。

该函数返回值如下:

  • 如果返回值< 0,则表示 str1 小于 str2。
  • 如果返回值 > 0,则表示 str1 大于 str2。
  • 如果返回值 = 0,则表示 str1 等于 str2。


strncmp()

int strncmp(const char *str1, const char *str2, size_t n)
  • str1 -- 要进行比较的第一个字符串。
  • str2 -- 要进行比较的第二个字符串。
  • n -- 要比较的最大字符数。

该函数返回值如下:

  • 如果返回值 < 0,则表示 str1 小于 str2。
  • 如果返回值 > 0,则表示 str1 大于 str2。
  • 如果返回值 = 0,则表示 str1 等于 str2。


4. 复制

strcpy

src 所指向的字符串复制到 dest

char *strcpy(char *dest, const char *src)
  • dest -- 指向用于存储复制内容的目标数组。
  • src -- 要复制的字符串。

该函数返回一个指向最终的目标字符串 dest 的指针。

   char src[40];
   char dest[100];
   strcpy(src, "This is runoob.com");
   strcpy(dest, src);


strncpy

src 所指向的字符串复制到 dest,最多复制 n 个字符。当 src 的长度小于 n 时,dest 的剩余部分将用空字节填充

char *strncpy(char *dest, const char *src, size_t n)
  • dest -- 指向用于存储复制内容的目标数组。
  • src -- 要复制的字符串。
  • n -- 要从源中复制的字符数。

该函数返回最终复制的字符串。

 

--> 输入gets()不保留换行符读取整行输入,直至遇到换行符,然后丢弃换行符,存储其余字符,并且在末尾添加空字符 \0fgets()保留换行符从指定的流 stream 读取一行,并把它存储在 str 所指向的字符串内。当读取 (n-1) 个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。char *fgets(char *str, int n, FILE *stream...