c++

How do you read n bytes from a file and put them into a vector<uint8_t> using iterators?

喜你入骨 提交于 2021-02-19 15:25:07
问题 Based on this this question: How to read a binary file into a vector of unsigned chars In the answer they have: std::vector<BYTE> readFile(const char* filename) { // open the file: std::basic_ifstream<BYTE> file(filename, std::ios::binary); // read the data: return std::vector<BYTE>((std::istreambuf_iterator<BYTE>(file)), std::istreambuf_iterator<BYTE>()); } Which reads the entire file into the vector. What I want to do is read (for example) 100 bytes at a time in the vector, then do stuff,

How do you read n bytes from a file and put them into a vector<uint8_t> using iterators?

百般思念 提交于 2021-02-19 15:24:39
问题 Based on this this question: How to read a binary file into a vector of unsigned chars In the answer they have: std::vector<BYTE> readFile(const char* filename) { // open the file: std::basic_ifstream<BYTE> file(filename, std::ios::binary); // read the data: return std::vector<BYTE>((std::istreambuf_iterator<BYTE>(file)), std::istreambuf_iterator<BYTE>()); } Which reads the entire file into the vector. What I want to do is read (for example) 100 bytes at a time in the vector, then do stuff,

干货回顾 | 快速上手 VS Code:开发环境搭建和常用插件配置

强颜欢笑 提交于 2021-02-19 12:11:30
关注精彩内容,先点击 蓝字 关注我哦~ VS Code 中文社区简介: VS Code 中文成立于2019年11月30日,社区致力于促进开发者之间的交流学习。定期举办线上与线下的沙龙、动手实践营以及开发者交流大会等。 快速上手 VS Code:开发环境搭建和常用插件配置 时间:10月30日(周五) 19:30-21:30 主讲嘉宾介绍 张迪,中国科技大学,机器人实验室自然语言处理和机器人定位导航方向研究生。 分享大纲 一、快速搭建编译环境 二、包管理器的对比选择(Windows) scoop Windows Package manager chocolate 三、面向数据科学的Python环境搭建 Python开发常用插件和配置 四、Windows下CPP环境无痛搭建 gcc llvm/clang vcpkg 常用插件和配置 五、Git相关常用插件和配置 六、让你的Code更出彩:常用插件和配置 七、码字更智能:主流智能补全插件对比(AI-powerd autocompletion) 原配夫人intellicode 国产Aixcoder Tabnine Kite 八、让你的开发更舒适 九、让你的界面更美 十、让你摸鱼更快乐 开发环境的搭建 本次讲座主要面向入门者。 对于 Windows ,搭建环境可能并不如 Linux 方便。张老师提到了 Windows 上的 3 个包管理器:

据说程序员最怕命名!这个 6300 Star 的手册能帮上忙

安稳与你 提交于 2021-02-19 12:07:26
【导语】:naming-cheatsheet 是一个命名备忘录,记录命名的一些常见规范和约定。 简介 在编程工作中,命名是一件让很多开发者都头疼的事情。国外曾经有个一次关于程序员最难任务的投票调查,结果命名占了 49%。 一个好的变量或函数命名,应该能起到自解释的作用,甚至能减少我们代码的注释。 naming-cheatsheet是一个命名备忘录,记录一些常见的规范约定,并提供简单的例子说明。如果能够严格遵守这些规范,相信我们的代码可读性会大大提升,下面就来介绍 naming-cheatsheet 提供的一些建议。 项目地址: https://github.com/kettanaito/naming-cheatsheet 使用英语 这是最基本的一条规则了,英语是编程中的主要语言,所有编程语言的语法都是用英语编写的,通过英语编写代码,可以大大提高其通用性。对于我们国内开发者来说,一定要避免拼音甚至是直接的中文命名。 /* Bad */ const primerNombre = 'Gustavo' const amigos = ['Kate', 'John'] /* Good */ const firstName = 'Gustavo' const friends = ['Kate', 'John'] 命名风格 选择一种命名的风格,并且严格遵守,可以是camelCase,或者snake

干货回顾 | 快速上手 VS Code:开发环境搭建和常用插件配置

纵饮孤独 提交于 2021-02-19 11:49:51
关注精彩内容,先点击 蓝字 关注我哦~ VS Code 中文社区简介: VS Code 中文成立于2019年11月30日,社区致力于促进开发者之间的交流学习。定期举办线上与线下的沙龙、动手实践营以及开发者交流大会等。 快速上手 VS Code:开发环境搭建和常用插件配置 时间:10月30日(周五) 19:30-21:30 主讲嘉宾介绍 张迪,中国科技大学,机器人实验室自然语言处理和机器人定位导航方向研究生。 分享大纲 一、快速搭建编译环境 二、包管理器的对比选择(Windows) scoop Windows Package manager chocolate 三、面向数据科学的Python环境搭建 Python开发常用插件和配置 四、Windows下CPP环境无痛搭建 gcc llvm/clang vcpkg 常用插件和配置 五、Git相关常用插件和配置 六、让你的Code更出彩:常用插件和配置 七、码字更智能:主流智能补全插件对比(AI-powerd autocompletion) 原配夫人intellicode 国产Aixcoder Tabnine Kite 八、让你的开发更舒适 九、让你的界面更美 十、让你摸鱼更快乐 开发环境的搭建 本次讲座主要面向入门者。 对于 Windows ,搭建环境可能并不如 Linux 方便。张老师提到了 Windows 上的 3 个包管理器:

Rust学习笔记1

試著忘記壹切 提交于 2021-02-19 11:45:33
这是一份不错的rust教程 ,目前包括4个block和4个project。全部完成后可以用rust实现一个简单的key-value存储引擎。 注意:Windows下rust貌似会遇到一些bug,强烈建议使用Linux来开发 Building Block1 一开始就是Hello World啦......通过实现一个简单的命令行程序来体验一下rust 比如我们希望程序能获得命令行参数 use std::env; fn main() { let args: Vec <String> = env::args().collect(); println!( " {:?} " , args); } 运行结果: F:\My Drive\19fall\talent-plan\rust\building-blocks\bb1\src>main.exe 11 22 ["main.exe", "11", "22"] 这一段看起来和c++差不多......(其实感觉rust比go好理解多了...) println!结尾的叹号!表示调用了一个Rust宏。如果是调用函数,应该输入println 但是一个复杂的cli程序(比如Linux中的ls),命令行参数是很复杂的。比如我们想给写个help(比如ls -h)供用户参考,该怎么办呢?我们可以使用rust的clap库来实现。 首先需要定义一个yml

VC基于单文档OpenGL框架

纵然是瞬间 提交于 2021-02-19 11:44:58
本文是在VC6.0的环境下,运用MFC实现的OpenGL最基本框架,需要简单了解MFC编程(会在VC6.0里创建MFC单文档应用程序就行),甚至不必了解OpenGL的知识。以下是具体的步骤。 1 、创建 MFC 单文档应用程序 2 、添加 lib Project->Setting->Link 添加 " *.lib " opengl32.lib glu32.lib glut32.lib glaux.lib 以上的 lib文件需要存在于 VC6.0安装好的目录下的 lib文件夹底下,例如: C:\Program Files\Microsoft Visual Studio\VC98\Lib 如果一些lib文件没有,可以去网上搜下,自己下载。 3 、在 stdafx.h 中添加 OpenGL 头文件 // OpenGL Headers #include <gl\gl.h> // OpenGL32库的头文件 #include <gl\glu.h> // GLu32库的头文件 #include <gl\glut.h> // OpenGL实用库的头文件 #include <gl\glaux.h> // GLaux库的头文件 以上的头文件需要存在于 VC6.0安装好的目录下的 Include下的 GL文件夹下,例如: C:\Program Files\Microsoft Visual Studio

367 Valid Perfect Square 有效的完全平方数

耗尽温柔 提交于 2021-02-19 11:01:25
给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。 注意:不要使用任何内置的库函数,如 sqrt。 示例 1: 输入: 16 输出: True 示例 2: 输入: 14 输出: False 详见:https://leetcode.com/problems/valid-perfect-square/description/ C++: 方法一: class Solution { public: bool isPerfectSquare(int num) { for(int i=1;i<=num/i;++i) { if(i*i==num) { return true; } } return false; } }; 方法二: class Solution { public: bool isPerfectSquare(int num) { long left=0,right=num; while(left<=right) { long mid=left+(right-left)/2,t=mid*mid; if(t==num) { return true; } else if(t<num) { left=mid+1; } else { right=mid-1; } } return false; } }; 参考:https://www

How are arrays passed in C++ by reference or value or by pointer?

放肆的年华 提交于 2021-02-19 09:32:19
问题 I am a beginner trying to learn C++. Apologies if my question is not structured properly? I was working with arrays and found out that I can manipulate the values stored in an array through a function without using the & or pass by reference sign. I don't understand how this is possible as the lack of & sign means that it is passed by value and a copy is made which is manipulated. Elsewhere, I read that arrays are passed by pointers if this is the case I didn't use any explicit dereferencing

Libtorch works with g++, but fails with Intel compiler

霸气de小男生 提交于 2021-02-19 09:31:23
问题 I want to use a neural network developed in Python (PyTorch) in a Fortran program. My OS is Ubuntu 18.04. What I am doing: save it as torchscript: TurbNN.pt call it from c++ program: call_ts.cpp, call_ts.h call c++ program from Fortran program (using bind©): main.f90 I successfully compiled the codes using CMake (3.19.4) and g++ (7.5.0). However, I cannot compile them using Intel compilers (HPCKit 2021.1.0.2684): # downloaded torchlib export Torch_DIR=/home/aiskhak/nn/fortran_calls