txt里有一行文字例如 00224dc2a4e0,現在我要把這行讀取出來并保存成下面這個樣子的unsigned char BTMAC[6] = {0x00,0x22,0x4d,0xc2,0xa4,0xe0};請問該如何操作?txt文本只有這一行而且長度固定TCHAR BTFILE[256]={“PATH.txt”}; //隨便寫的路徑FILE *fp;fp=_tfopen(BTFILE,L"r");//fread ?
1 回答

繁華開滿天機
TA貢獻1816條經驗 獲得超4個贊
可以使用C++的庫函數getline實現。
getline會生成一個包含一串從輸入流讀入的字符的字符串,直到以下情況發生會導致生成的此字符串結束。
1)讀到文件結束符;
2)遇到函數指定的結束符;
3)輸入達到最大限度。
getline有兩種重載:
istream &getline( char *buffer, streamsize num );
istream &getline( char *buffer, streamsize num, char delim );
參數說明:
buffer: 讀取的數據將存在buffer中。
num:最多讀取num個字符。即之前所說的最大限度。
delim:結束符,當遇到指定的結束符時將結束輸入。在第一種重載中,結束符為\n,即遇到換行結束。
所以要實現整行讀取,使用第一種重載就可以了。示例代碼如下:
#include <iostream>
using namespace std;
int main()
{
char buf[1024];//存儲的buf。
while(getline(buf,sizeof(buf)))//讀取一行。
{
cout << "read line:" <<buf<<endl;//輸出讀取到的數據。
}
return 0;
}
- 1 回答
- 0 關注
- 152 瀏覽
添加回答
舉報
0/150
提交
取消