1樓:匿名使用者
在unicode下,不要使用cstring處理字串,這個必然會是wchar寬字元,無法處理char*的文字檔案。另外說明一下,sscanf處理char,swscanf處理wchar。
你這個新結構,依然是規則的啊,你只需要判斷首字母是什麼就可以了,不是x就跳過不處理即可。當然,如果需要更安全的**,通過sscanf處理也是可以的。
總之,無論哪種方式,你需要的就是每次讀取一行(比如fstream的getline也是可以的)到乙個char *的字串指標或者陣列裡面,並通過sscanf做格式化處理。sscanf是有返值的,如果格式化處理失敗,返值為-1,你只需要通過返值判斷,就可以跳過非格式行了。
mfc如何讀取txt中的座標資料
2樓:匿名使用者
如果每行都是標準統一格式,用cstdiofile::readstring每次讀取一行,之後用sscanf做格式化拆分即可。
sscanf的格式化字串:"x%d y%d"
如何在mfc中讀取txt檔案中的資料
3樓:蒙
可以吧txt中的資料全部一行行讀出來,放到字串中,然後用 , 分割字串,六個資料一組
mfc中讀取txt檔案中的資料和行列數
4樓:匿名使用者
既然有1位數的資料也有4位數的資料,那麼如果txt中沒有特意的回車,行數和列數不可能確定。如果有回車的話,簡單,用
#include
char *strtok( char *str1, const char *str2 );
就能解決。
先用getline()一行讀出乙個str,並累加行數,然後
char *result = null;
char string[100][100];
int x = 0;
result = strtok( str, " ");
while( result != null )
這樣用乙個string陣列就可以把全部資料儲存下來。x記錄了總數,然後x除以行數就是列數。
今天有空了,幫你把程式全寫出來:
#include
#include
#include
using namespace std;
void main()
memset(ch,0,100);
fin.getline(ch,100);
}fin.close();
} //已執行過了,沒問題,b[100][100]是所有元素,x為行數,y/x為列數。
5樓:
1、建立乙個指標;
2、開啟檔案
3、迴圈讀取 每次以讀取換行符為結束,將讀取的資料按空格分拆,看有多少的資料,申請乙個可以放下資料的指標,將其內容放入;
4、讀取結束,關閉檔案。
每一行指標結構:
struct line
其中 *data=(int * ) malloc(sizeof(int)* len)
具體**就不寫了!
vc 如何開啟 讀取 txt 檔案中的數值資料?
6樓:
cstring strfilename;//要開啟的檔名稱ifstream infile(strfilename, ios::in);
if (!infile)
infile.seekg( ios::beg );
int col = 0 ;
float data = 0 ;
while (infile >> data)
7樓:皇家救星
fscanf
在開啟檔案後返回檔案路徑後就能用fscanf了
vc60中如何通過mfc讀取access中單元格的值
mfc從access中提取的資料都是 char 形式的 此值賦值給乙個變數,你需要強制轉換下你需要的型別 例如int整型,float浮點型等 然後又表示式計算。計算的結果用變數暫存,此變數介面中的控制項關聯顯示 以乙個表table math,chinese 為例,要計算總分total。1.利用sql...
C 如何逐行讀取檔案,並將讀取出來的資料進行運算匯入
會飛的小兔子 intmain inta 16 file fp fopen aa.txt r inti 0 while feof fp fscanf fp,d a i i return0 擴充套件資料在python一次性讀取資料 file novel.txt withopen file asfile ...
象棋中關於座標的術語是如何規定的
整個棋盤以 河界 分為相等的兩部分。為了比賽記錄和學習棋譜方便起見,現行規則規定 按九條豎線從右至左用中文數字一至九來表示紅方的每條豎線,用阿拉伯數字1只至9來表示黑方的每條豎線。己方的棋子始終使用己方的線路編號,無論棋子是否 過河 對弈開始之前,紅黑雙方應該把棋子擺放在規定的位置。任何棋子每走一步...