請問一下AnsiString 讀入Struct裡 |
尚未結案
|
Schuamcher
一般會員 發表:30 回覆:42 積分:14 註冊:2004-11-18 發送簡訊給我 |
請問一下我有一個text檔裡面有文字,請問一下當我程式這樣寫的時侯,為什麼Test會出現類似X0的記憶體碼,我該如何寫呢(程式碼如下)
typedef struct{
char TAMCode[2];
char Time[16];
char ID[10];
char B1P [9];
char B1Q [8];
char B2P [9];
char B2Q [8];
char B3P [9];
char B3Q [8];
char B4P [9];
char B4Q [8];
char B5P [9];
char B5Q [8];
char A1P [9];
char A1Q [8];
char A2P [9];
char A2Q [8];
char A3P [9];
char A3Q [8];
char A4P [9];
char A4Q [8];
char A5P [9];
char A5Q [8];
}Best5_Type; void __fastcall TForm1::Button1Click(TObject *Sender)
{
Best5_Type BestP_5;
TIniFile *pIniFile = new TIniFile(ExtractFilePath(Application- >ExeName)
"TestText.ini");
AnsiString TestText = pIniFile->ReadString("Test","OpTest","");
memmove(&BestP_5,&TestText,198);
AnSiString Test = AnsiString(BestP_5.B1p)
文字如下(521005050000036465TXO06200D500001950000000004000019000000000400000185000000018300001800000000161000017500000002700000200000000018800002050000000095000021000000001370000215000000002500002200000000033) 謝謝各位高手的幫忙
|
jackyung
一般會員 發表:22 回覆:46 積分:13 註冊:2004-01-24 發送簡訊給我 |
|
smartboss
初階會員 發表:19 回覆:93 積分:42 註冊:2004-12-29 發送簡訊給我 |
引言: 請問一下我有一個text檔裡面有文字,請問一下當我程式這樣寫的時侯,為什麼Test會出現類似X0的記憶體碼,我該如何寫呢(程式碼如下) typedef struct{ char TAMCode[2]; char Time[16]; char ID[10]; char B1P [9]; char B1Q [8]; char B2P [9]; char B2Q [8]; char B3P [9]; char B3Q [8]; char B4P [9]; char B4Q [8]; char B5P [9]; char B5Q [8]; char A1P [9]; char A1Q [8]; char A2P [9]; char A2Q [8]; char A3P [9]; char A3Q [8]; char A4P [9]; char A4Q [8]; char A5P [9]; char A5Q [8]; }Best5_Type; void __fastcall TForm1::Button1Click(TObject *Sender) { Best5_Type BestP_5; TIniFile *pIniFile = new TIniFile(ExtractFilePath(Application- >ExeName) "TestText.ini"); AnsiString TestText = pIniFile->ReadString("Test","OpTest",""); memmove(&BestP_5,&TestText,198); AnSiString Test = AnsiString(BestP_5.B1p) 文字如下(521005050000036465TXO06200D500001950000000004000019000000000400000185000000018300001800000000161000017500000002700000200000000018800002050000000095000021000000001370000215000000002500002200000000033) 謝謝各位高手的幫忙大叔您這樣錯了喔,您應該要如 jackyung 所說的那樣才對喔,且您要的應該是分段的資料,所以您的 AnSiString Test = AnsiString(BestP_5.B1p) 這部份可能也要修改一下 void __fastcall TForm1::Button1Click(TObject *Sender) { Best5_Type BestP_5; TIniFile *pIniFile = new TIniFile(ChangeFileExt(Application->ExeName, ".ini" )); AnsiString TestText = pIniFile->ReadString("Test","OpTest",""); memmove(&BestP_5,TestText.c_str(),198); Edit1->Text = AnsiString(BestP_5.Time,sizeof(BestP_5.Time)); }您試試看您要的是不是這樣呢?? 蝦程速,有了 K.TOP 尊好。 |
ubong
一般會員 發表:2 回覆:42 積分:23 註冊:2002-10-02 發送簡訊給我 |
|
Schuamcher
一般會員 發表:30 回覆:42 積分:14 註冊:2004-11-18 發送簡訊給我 |
|
Schuamcher
一般會員 發表:30 回覆:42 積分:14 註冊:2004-11-18 發送簡訊給我 |
那麼再請問一下,如果Structure改為
typedef struct{
AnsiString TAMCode[2];
AnsiString Time[16];
AnsiString ID[10];
float B1P ;
int B1Q ;
float B2P ;
int B2Q ;
float B3P ;
int B3Q ;
float B4P ;
int B4Q ;
float B5P ;
int B5Q ;
float A1P ;
int A1Q ;
float A2P ;
int A2Q ;
float A3P ;
int A3Q ;
float A4P ;
int A4Q ;
float A5P ;
int A5Q ;
}Best5_Type; 字串仍然一樣.(521005050000036465TXO06200D500001950000000004000019000000000400000185000000018300001800000000161000017500000002700000200000000018800002050000000095000021000000001370000215000000002500002200000000033)只是將之前的char轉成(int及float)請問一下我該如何寫能使效率最快,因為資料量很大,也需要速度,謝謝各位高手的幫忙
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |