C/C++
文章平均质量分 60
一蓑烟雨17815
就职于阿里巴巴菜鸟网络,我的github主页 https://github.com/xupingmao
长期内推开发岗,有意请发简历至pingmao.xpm@cainiao.com,阿里经济体等你来!
展开
-
string和wstring相互转换
写一个项目的时候从devcpp转到vs2010,发现很多地方使用到宽字符的,在网上找了一个很好用的方法,转载过来wstring StringToWString(const string& s){ std::wstring wszStr; int nLength = MultiByteToWideChar( CP_ACP, 0, s.c_str转载 2013-09-17 17:32:55 · 1152 阅读 · 0 评论 -
STL中的vector
不知道为什么,我们软件学院竟然不传授C++的课程,但是实训却已C++为主。。。每次实训只会匆匆讲一些C++的基本知识,然后让我们把C++当C使。。。真是拿牛刀去宰鸡,后来突然萌发学好C++的想法,于是就去看了C++的知识(之前对C++比较反感),发现C++有一个叫做标准模板库的神器,里面几乎原创 2013-09-20 23:46:37 · 671 阅读 · 0 评论 -
C++中的map
在javascript和python等脚本语言中都内置了通过字符串索引数组的方法,看起来很好用,C++中也有类似的功能,叫做map映射容器。使用map容器之前,需要使用宏语句#include。原创 2013-09-24 19:58:00 · 795 阅读 · 0 评论 -
c++词法分析器
将词法分析结果放入vector向量中,为语法分析做准备// MyLex.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include#include#includeusing namespace std;typedef struct{ int syn; char name[10]; double value;} TOK原创 2013-10-12 22:04:58 · 1329 阅读 · 0 评论 -
C语言清空getchar缓冲区
今天写到这样一个函数char c; do{ c=getchar(); ... }while(c!='#');结果输入abc#abc后再用getchar()不能获得正确的值。。。Baidu一下,原来getchar()采用了缓冲区,而getch()才是立即获取,所以要想再用getchar()获取正确的值必须先清空缓冲区,如果是window转载 2013-09-28 23:21:34 · 4703 阅读 · 0 评论 -
写语法分析器的感想
由于课程设计的需要,我要实现一个源代码到四元式的翻译程序,整个过程对我来说还是很有挑战性的。容易的部分就不说了,本来我就是用递归下降实现的,已经十分的直观了(相对于SLR等自底向上的分析法),但是我在实现的过程中还是遇到了一些问题,最棘手的是:={(+|-)}这样的语句的分析,因为只有是符合文法的情况下才能继续下去,然后我实现的时候就写了一个int类型的term函数,每次判断term是原创 2013-12-22 19:42:47 · 2176 阅读 · 0 评论 -
c++读取utf8等不同编码文件
今天写程序的时候遇到文件打开乱码的情况,我用notepad++打开发现是utf8编码的,后来上网查了一下,utf8是变长的,一般情况下文件开头有个BOM(Byte Order Mark)作为标识,一般文本编码的BOM:ANSI:没有BOM,直接是内容。UNICODE(LE):FF FEUNICODE(BE):FE FFUTF-8:EF BB BF注:还有一种无BOM原创 2013-09-18 22:51:24 · 11269 阅读 · 2 评论 -
C语言里的一些陷阱
每一种语言都会有很多“陷阱”,c语言也不例外。这里我每次遇到的时候就补充一下,以期不断提升自己的水平。语法方面的1.结构体是可以赋值的,但是不能比较(这里说的主要是==操作,感到很郁闷,难道每次只能用memcpy来判断吗)。2.register变量最好用于局部变量。(tcc可以用于全局变量,gcc需要指定,不过一般都不用指定寄存器变量了)3.i++不能作为左值,++i可以。原创 2014-03-19 13:54:57 · 829 阅读 · 0 评论 -
C语言基础知识汇集
介绍容易踩坑的C语言基础特性原创 2014-01-28 10:29:49 · 625 阅读 · 0 评论