char函数

C++ string 类详解

余生颓废 提交于 2020-02-16 23:28:52
字符串是存储在内存的连续字节中的一系列字符。C++ 处理字符串的方式有两种,一种来自 C 语言,常被称为 C-风格字符串,另一种是基于 string 类库的字符串处理方式。C 风格字符串的处理可以参考 https://www.cnblogs.com/tongye/p/10688941.html ,本文着重介绍 string 类库的使用。 一、string 类简介   C++ 中提供了专门的头文件 string(注意不是 string.h,这个是 C 风格字符串相关函数的头文件),来支持 string 类型。string 类定义隐藏了字符串的数组性质,让我们可以像处理普通变量那样处理字符串。 string 对象和字符数组之间的主要区别是:可以将 string 对象声明为简单变量,而不是数组 。 1.1 string 类几种常见的构造函数: 1)string(const char *s) :将 string 对象初始化为 s 指向的字符串 string str("Hello!"); 2)string(size_type n,char c) :创建一个包含 n 个元素的 string 对象,其中每个元素都被初始化为字符 c string str(10,'a'); 3)string(const string &str) :将一个 string 对象初始化为 string 对象 str

2.3freetype矢量字体

蹲街弑〆低调 提交于 2020-02-16 22:02:03
1.简介 将汉字的笔划边缘用直线段描述成封闭的曲线,并将线段各端点的坐标经压缩存储 矢量字库由两部分组成,一部分是汉字的索引信息,一部分是汉字的字形(glyph)数据 当显示文字时,便取出各端点,并通过贝塞尔曲线连接各坐标,最后填充封闭空间 2.freetype在电脑上的体验 PC上安装到(/usr/local/) 1.解压 tar -xjf freetype-2.4.10.tar.bz2 2.重命名 mv freetype-2.4.10 freetype-2.4.10_pc 3.配置 cd freetype-2.4.10_pc ./configure 4.编译 make 5.安装到根目录 sudo make install //直接将库安装到根目录/usr/local/里,所以需要加sudo 编译文件时 eg:编译例程:example1.c(关于freetype的代码) gcc -o example1 example1.c -I /usr/local/include/freetype2/ -lfreetype -lm 解析: -I /usr/local/include/freetype2/ 指定头文件目录 -lfreetype -lm 链接文件,链接freetype库中的函数;链接数学库中的函数 运行 eg: ./example1 simsun.ttc agf /*

面向对象程序设计寒假作业3

大城市里の小女人 提交于 2020-02-16 21:56:46
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2020OOP 这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2020OOP/homework/10288 这个作业的目标 1.继续完成作业二的编程题。 2.优化架构,思考代码的拓展性 3.或者扩大数字范围,支持负数 4.编译代码 5.测试代码 6.作业上传仓库 作业正文 https://www.cnblogs.com/Sweetxinxin/p/12316634.html 其他参考文献 https://www.cnblogs.com/sddai/p/10249243.html https://www.cnblogs.com/hclw/p/9560442.html https://wenda.so.com/q/1365038777067506 仓库地址 https://github.com/Sweetxinxin/winter-vocation-homework-3 Part 1 第二次作业完善 a.编译脚本 经过询问同学查找资料第二次作业得到了有效解决 关于编译脚本的路径问题,通过配置gcc环境及在控制面板中找到高级选项环境变量的path中添加gcc的路径 找到名为ComSpec的系统变量,查看是否是 :“%SystemRoot%

C语言函数——常用数学函数

依然范特西╮ 提交于 2020-02-16 21:30:05
C语言的数学函数所在函数库为math.h、stdlio.h、string.h、float.h,使用的时候需要引入。下面是函数及其作用。 int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fabs(double x) 返回双精度参数x的绝对值 long labs(long n) 返回长整型参数n的绝对值 double exp(double x) 返回指数函数ex的值 double frexp(double value,int eptr) 返回value=x 2n中x的值,n存贮在eptr中 double ldexp(double value,int exp); 返回value*2exp的值 double log(double x) 返回logex的值 double log10(double x) 返回log10x的值 double pow(double x,double y) 返回xy的值 double pow10(int p) 返回10p的值 double sqrt(double x) 返回+√x的值 double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度 double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度

Codeforces Round #569 (Div. 1)

梦想与她 提交于 2020-02-16 12:06:35
Codeforces Round #569 (Div. 1) A Valeriy and Deque 考虑先走n-1步,那么走完了n-1步后最大的数一定就在最前面了,接下来的操作会让后面的n-1个数进入循环,那么对于一个询问 \(m_i\) ,如果 \(m_i<n-1\) ,那么直接回答即可,否则将 \(m_i\) 对n-1取模,然后回答。 #include<cstdio> #include<cstring> #include<algorithm> #include<queue> #include<cctype> #define qmin(x,y) (x=min(x,y)) #define qmax(x,y) (x=max(x,y)) #define vic vector<int> #define vit vic::iterator #define pir pair<int,int> #define fr first #define sc second #define mp(x,y) make_pair(x,y) #define rsort(x,y) sort(x,y),reverse(x,y) using namespace std; inline char gc() { // static char buf[100000],*p1,*p2; // return (p1==p2)

寒假作业三

匆匆过客 提交于 2020-02-16 10:41:51
面向对象程序设计寒假作业3 这个作业属于哪个课程 2020年面向对象程序设计 这个作业要求在哪里 寒假作业三 作业正文 寒假作业3 这个作业的目标 1.继续完成作业二的编程题,优化代码 2. 思考一个代码的延展性 编程题 继续完成作业二的编程题。 优化架构,思考代码的拓展性,比如我需要增加其他功能,如选择,循环语句怎么办。 思考:可以参考现有的编程语言,把这些语言的内容加入。如选择、循环语句、函数、或者扩大数字范围,支持负数等。 优化代码 将之前的代码做了一些优化,把错误分析单独独立为一个函数模块,并且完善了错误分析,从数据类型,数据范围,运算操作和初始化四个角度报错。用error函数,按照不同的参数输出不同的错误提示。 void error(int n) { if(n==1) printf("只支持整数数据\n"); if(n==2) printf("运算操作错误,仅支持增加或减少\n"); if(n==3) printf("数据超出范围,仅支持0-99内数据\n"); if(n==4) printf("未初始化\n"); } 我新加入了负数的计算,使程序范围由0-99变为-99-99.通过读入数据时判断第一个汉字是否为“负”,因为我们平常习惯说到负数时,第一个字一定是“负”。然后开一个字符数组minus存储符号,如果有“负”则执行函数exchange1。 int main()

第八周作业

筅森魡賤 提交于 2020-02-16 09:51:02
函数题一:函数实现字符串逆序 本题要求实现一个字符串逆序的简单函数。 函数接口定义: void f( char *p ); 函数f对p指向的字符串进行逆序操作。要求函数f中不能定义任何数组,不能调用任何字符串处理函数。 裁判测试程序样例: #include <stdio.h> #define MAXS 20 void f( char *p ); void ReadString( char *s ); /* 由裁判实现,略去不表 */ int main() { char s[MAXS]; ReadString(s); f(s); printf("%s\n", s); return 0; } /* 你的代码将被嵌在这里 */ 输入样例: Hello World! 输出样例: !dlroW olleH 实验代码 void f( char *p ) { int i=0,q=0,h,tmp; while(p[i]!='\0') i++; h=i-1; while(q<=h) { tmp=p[q]; p[q]=p[h]; p[h]=tmp; q++; h--; } return ; } 设计思路及其流程图 本题所遇到的问题及解决办法 无 运行结果截图 函数题二: 本题要求实现一个函数,将两个字符串连接起来。 函数接口定义: char *str_cat( char *s, char *t );

面向对象程序设计寒假作业3

拥有回忆 提交于 2020-02-16 09:07:50
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2020OOP 这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2020OOP/homework/10288 这个作业的目标 1. 继续完成编程题并制作测试 作业正文 1编程题 仓库地址 https://github.com/chen1357/homework 参考文献 https://blog.csdn.net/yjx4102/article/details/79319305 一、编程题 1.扩大数字范围 (1)增加负数范围 在“ 整数 ”运算过程中出现负数时不再报错,而是继续运算,同时输入与输出都可以是负数。同时新增加了“ 自然数 ”,若初始输入“ 自然数 ”,如果运算出现负数则报错。 初始值输入的判断进行了修改。 scanf("%s%s%s%s",a,b,c,d); if(strcmp(a,"整数")!=0&&strcmp(a,"自然数")!=0) { printf("输入有误,请重新输入\n"); continue; } 在运算过程中的判断也进行了修改。 if (sum<k && strcmp(a,"自然数")==0) printf("%s不能为负值,请重新输入\n",b); else sum -= k;; 并且在输出的函数中增加了这一部分。

面向对象程序设计作业3

不羁岁月 提交于 2020-02-16 01:13:09
这个作业属于哪个课程 【面向对象程序设计寒假作业3】( https://edu.cnblogs.com/campus/fzu/2020OOP/homework/10288 ) 这个作业的目标 1.继续完成作业二的编程题。2.优化架构,思考代码的拓展性,比如我需要增加其他功能,如选择,循环语句怎么办。3.思考:可以参考现有的编程语言,把这些语言的内容加入。如选择、循环语句、函数、或者扩大数字范围,支持负数等。 作业正文 【面向对象程序设计作业3】( https:////www.cnblogs.com/dudu340/p/12310718.html ) 【仓库地址】( https://github.com/dudu340/FZU--OOP--homework )(但是我的代码并没有编译成功,具体失败见下文) 编程题 对于编程题的优化,我首先对于我上次作业的输出进行了调整,改为了: # include<stdio.h> # include<string.h> int main() { int sum,m,n; int zhi(char s[15]); int zengjia(char s[15]); int jianshao(char s[15]); char *shuchu(int sum); char s1[15],s2[15],s3[15],s4[15]; char str1[15

2020面向对象寒假作业(三)

邮差的信 提交于 2020-02-15 18:45:23
2020面向对象寒假作业(三) 这个作业属于哪里 2020面向对象程序设计 这个作业在哪里 2020面向对象寒假作业三 这个作业目标 1.继续完成编程题 2.发布博客 作业正文 2020面向对象寒假作业(三) 参考文献 - 1.代码优化 (1)num中文转数字计算函数 原函数 int num(char d[]) { if(!strcmp(d,"零")) return 0; else if(!strcmp(d,"一")) return 1; else if(!strcmp(d,"二")) return 2; else if(!strcmp(d,"三")) return 3; else if(!strcmp(d,"四")) return 4; else if(!strcmp(d,"五")) return 5; else if(!strcmp(d,"六")) return 6; else if(!strcmp(d,"七")) return 7; else if(!strcmp(d,"八")) return 8; else if(!strcmp(d,"九")) return 9; else if(!strcmp(d,"十")) return 10; else return -1; } 优化函数 int num(char d[]) { char nums[11][4]={"零","一","二