2022年11月

U盘突然有问题 可能是太便宜
插在另一台电脑格式化时显示有写保护
windows 使用diskpart工具处理

  1. list disk 列出磁盘列表
  2. select disk 选中操作盘
  3. attributes disk clear readonly 清除写保护状态
  4. clean 删除U盘数据
  5. create partition primary 建立分区
  6. 如果U盘容量小于32 GB,输入“format fs=fat32”。如果大于32 GB,输入“format fs=ntfs”。需要等待完成
  7. exit 退出
    解决方案

查找 $controller = strip_tags($result[1] ?: $config['default_controller']); 后面新增代码如下:

if (!preg_match('/^[A-Za-z][\w\.]*$/', $controller)) { throw new HttpException(404, 'controller not exists:' . $controller); }

参考1
参考2

出自https://wangdoc.com/clang/function
最近再看C语言,由于非科班出身,只有一丢丢VB印象(早已忘光),没学C语言总觉得有一点点遗憾。填坑。
k可变参数 ,一个函数有不确定个函数时可用。

func(int i, ...){}

参数 ... 便是可变参数位置。
定义含有可变参数函数时,需要先引入 #include <stdarg.h>
其中有几个函数,va_list, va_start, va_arg, va_end

  1. va_list: 一个数据类型,用来定义一个可变参数对象。它必须在操作可变参数时,首先使用。
  2. va_start: 来确定可变函数位置,他接受两个参数。一个是用来初始化的可变参数对象。第二个参数是原始函数里面可变参数的那个参数,用来为可变参数定位。
  3. va_arg: 一个函数,用来取出当前那个可变参数,每次调用后,内部指针会指向下一个参数。第一个可变参数对象,第二个是当前可变参数类型。
  4. va_end: 一个函数,用来清理可变参数对象。
/* Online C Compiler and Editor */
#include <stdio.h>
#include <stdarg.h>
double average(int i, ...) {
  double total = 0;
  va_list ap;
  va_start(ap, i);
  for (int j = 0; j <= i; ++j) {
    double value = va_arg(ap, int);
    printf("%f\n",value);
    total += value;
  }
  va_end(ap);
  return total / i;
}

int main()
{
    printf("%f",average(3,4,3,4));
    return 0;
}
// 结果
4.000000
3.000000
4.000000
0.000000
3.666667

编辑器地址