- 博客(14)
- 收藏
- 关注
转载 C语言itoa()函数和atoi()函数详解(整数转字符C实现)
C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。1.int/float to string/array:C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串,下面列举了各函数的方法及其说明。● itoa():将整型值转换为字符串。● ltoa():将长整型值转换为字符串。● ultoa():将无符号长整型值转换为字符串。● gcvt():将浮点型数转换为字符串,取四舍五入。● ecvt():将双精度浮点型值转换为字符串,
2022-04-07 21:19:01
2655
转载 printf用法之打印二进制,八进制,十进制,十六进制
printf用法之打印2进制,八进制,十进制,十六进制printf是格式化输出函数,它可以直接打印十进制,八进制,十六进制,输出控制符分别为%d, %o, %x, 但是它不存在二进制,如果输出二进制,可以手写,但是也可以调用stdlib.h里面的itoa函数,他不是标准库里面的函数,但是大多数编译器里面都有这个函数,所以就介绍一下itoa函数的原型为char* itoa(int value, char * string, int radix); int value 被转换的整数,char *string
2022-04-05 21:55:22
47498
原创 STL函数next_permutation()
next_permutation()作用:按照字典序返回组合所有字符的排列组合。函数原型:(1) bool next_permutation(BidirectionalIterator first,BidirectionalIterator last);(2) bool next_permutation(BidirectionalIterator first,BidirectionalIterator last,Compare comp);返回值:如果没有下一个排列组合,返回false,
2022-03-29 14:37:11
343
原创 c++二维数组的初始化(vector)
c++ vector封装二维数组的使用定义:#include<vector>vector<vector<int> > a; //要注意>之间的空格,否则有的编译器会报错初始化:方法一:int m,n; //设m为二维数组的行,n为二维数组的列vector<<vector>int > M(m,vector<int>(n,0)); //相当于向二位向量中插入一维向量。for(int i = 0;i<m;i
2022-03-24 19:56:15
3196
原创 计算机系统-实验三-Q1-linux
要求:在linux-gcc下完成以下题目,熟悉整数数值在计算机内部的表示方式。预备知识:1.gcc常用指令及相关知识2.C语言:offsetof()的用法3.细说 #pragma pack(n) (attribute((aligned(8)))的作用;"__"是两个下划线)下述两个结构所占存储空间多大?结构中各分量所在位置相对于结构起始位置的偏移量是多少?请编写程序以验证你的答案。若使用#pragma pack(2)语句,则结果又如何?struct test1{ char x2[3];
2022-03-16 22:35:19
1587
转载 gcc常用指令及相关知识
1,gcc与g++的问题:1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序。2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接。当我们常规使用gcc编译一个程序时,他通常执行4个步骤:预编译,编译,汇编,连接.当然我们可以通过指定某个选项来使它停止在某个步骤上.指定GCC进行的操作的选项-E :让GCC仅进行预处理;得到 .i 文件;-S :
2022-03-16 21:38:12
611
转载 C++中的内存对齐介绍
网上有很多介绍字节对齐或数据对齐或内存对齐的文章,虽然名字不一样,但是介绍的内容大致都是相同的。这里以内存对齐相称。注:以下内容主要来自网络。内存对齐,通常也称为数据对齐,是计算机对数据类型合法地址做出了一些限制,要求某种类型对象的地址必须是某个值K(通常使2、4、8、16、32或64)的倍数。现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而
2022-03-16 21:27:55
835
转载 C语言字节对齐 __align(),__attribute((aligned (n))),#pragma pack(n)
C语言字节对齐 __align(),__attribute((aligned (n))),#pragma pack(n)转载地址 : http://blog.youkuaiyun.com/21aspnet/article/details/6729724一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根
2022-03-16 20:16:03
1576
转载 freopen_s的使用
与freopen的区别在于多了一个文件流类型的形参。即例程中的stream1。int main(){ int a, b; FILE *stream1; freopen_s(&stream1, "in.txt", "r", stdin); freopen_s(&stream1, "out.txt", "w", stdout); while (cin >> a >> b) cout << a + b &l
2022-03-15 10:03:57
1997
转载 string::find()函数和string::npos函数的介绍
string::find()函数和string::npos函数的介绍我们在学习C++的时候必不可少的使用到string类中的find()函数,它是一个查找函数,功能还是很强大的,但是此处我们不对他进行过多的讲解只是了解它的基本使用,最重要的是和string::npos的关系。string::find()函数:是一个字符或字符串查找函数,该函数有唯一的返回类型,即string::size_type,即一个无符号整形类型,可能是整数也可能是长整数。如果查找成功,返回按照查找规则找到的第一个字符或者子串的位置
2022-03-14 11:20:25
806
原创 Set.find()的使用
Set.find()定义:从set容器中查找值为x的元素O(log n):若存在,返回一个迭代器,指向键值x;若不存在,返回一个迭代器,指向set.end()。使用注意事项:判断在set容器中是否存在某值为x的元素: vector<int> test; if(test.find(x)!=test.end); { ··· }输出find查找到元素的值: vector<int> test; cout<<*test.find(x);很奇怪
2022-03-14 10:56:23
16131
3
原创 C++:vector的初始化(5种)
vector容器的使用:初始化:1. 默认初始化,最常用。vector<int> test1; 默认初始化,最常用;构造一个空的vector容器。2. 拷贝复制。vector<int> list2(list1);orvector<int> list2 = list1;通过list1建立list2,两者内容完全相同。3.直接赋值构造。vector<int> list = {1,2,3,4,5,6,7.0};通过列表中元素的构
2022-03-11 16:29:22
46208
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人