
c/cpp
keep_forward
谢谢大家关注
展开
-
char * 和string互转,陷阱:char*中包含较多的'\0'
一般来说,char *和string能够比较容易的进行相互转换,比如char *转换成string,可以直接转,如下:-Cpp 代码1char *a = "abcdefg";2std::string b = a;相对的,string转char *也是比较容易的,如下:-Cpp 代码查看代码1std::string s = "abcdefg";2s.c_str();但在用的过程中,碰到过一个问题,利...原创 2018-04-17 11:36:11 · 6142 阅读 · 2 评论 -
C++ 判断某一路径是目录还是文件
有时候需要根据路径是目录还是文件执行不同的操作,那么在C/C++中如何判断某个路径是目录还是文件呢?可以利用stat函数和结构体stat的函数声明如下-Cpp 代码1int _stat(2 const char *path,3 struct _stat *buffer4);参数:path——文件或者文件夹的路径buffer——获取的信息保存在内存中返回值:正确——返回0错误——返...原创 2018-04-18 19:13:54 · 16385 阅读 · 8 评论 -
C++ getline读文件,行末尾包含'\0'(未解决)
发现了一个很诡异的问题,用C++的fstream读文件,代码如下-Cpp 代码1ifstream infile_handle("file.txt", std::ios::in);2string line;3getline(infile_handle,line);问题在于,读取一行数据后,在有些机器上会包含'\0'这个字符,而有些机器不包含。这是为什么呢?...原创 2018-04-18 19:16:24 · 2476 阅读 · 0 评论 -
c/c++ int转string
在C++中如何把int类型的数字转成string表示呢?一般有多种方式,这里用stream的方式转化,代码如下:-Cpp 代码1std::string int2str(const int& int_value){2 std::stringstream stream;3 stream<<int_value;4 std::string string_value =...原创 2018-04-19 19:45:28 · 1330 阅读 · 0 评论 -
保留浮点数前几位小数
用float或者double表示一个浮点数,会碰到数字小数特别多的情况,比如0.324241245325235。但实际这样看着也不方便,实际用的时候也不需要这么高的精度。可以选择只保存前几位小数,比如小数点后3位小数,即1/1000的精度。可以通过先乘以1000,再取整,然后再除以1000的方式完成。代码如下:double val = 0.4325234235235235;return...原创 2018-05-16 22:43:32 · 3228 阅读 · 0 评论 -
c/c++计算程序运行时间
在c/c++中经常需要获取某段程序的运行时间,那么如何来实现呢?方式一:使用time函数 使用time函数计算某段程序运行时间的代码如下:time_t start_time;time(&start_time);...time-consuming code...time_t end_time;time(&end_time);time_t duratio...原创 2018-05-30 22:21:53 · 1770 阅读 · 1 评论