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()。