c++学习笔记,文件读取,字符串相关
1.字符串比较函数int strcmp(char* str1,char*str2)当两个字符串相同时,返回0,(而matlab的strcmp返回1)。看Asic码,str1>str2,返回值 > 0; str1< 0.2.使用字符串流来将字符串与数字之间进行转换,如下代码段:
a)数字转字符串:
#include
#Include
string num2str(double i)
{
stringstream ss;
ss<<i;
return ss.str();
}
b)字符串转数字:
int str2num(string s)
{
int num;
stringstream ss(s);
ss>>num;
return num;
}
3.二进制文件求数据大小
a)二进制文件读取和写出函数:ifstream if.read(), ofstream of.write();
b) 文件流指针定位函数: if.tellg(), of.tellp();
c) 文件流指针改变函数:if.seekg(),of.seekp();
函数参数:
ios::beg 从流开始位置计算的位移 ios::cur 从流指针当前位置开始计算的位移 ios::end 从流末尾处开始计算的位移
d)获取文件大小代码:
// obtaining file size #include #include const char * filename = "example.txt"; int main () { long l,m; ifstream file (filename, ios::in|ios::binary); l = file.tellg(); file.seekg (0, ios::end); m = file.tellg(); file.close(); cout << "size of " << filename; cout << " is " << (m-l) << " bytes.\n"; return 0; }
4.字符串流成员函数str
a) stringstream ss;
string temp_str = ss.str();获取字符串流buffer中的字符串。
b)stringstream ss;
string temp_str = "aaa";
ss.str(temp_str);将字符串赋值给字符串流。
c)重复使用流要先清空流,使用ss.clear()。
补充:软件开发 , C++ ,