2 つのトークンを設定して、EBO に DWG があるたびに、両方を配列にロードするか、何らかの区切り記号を使用して両方をテキスト ファイルに書き出すようにします。C++ の場合
サンプルデータ:
1~EBOA54_5047734~7-554440039DWG~ 2~EBOA54_5045445~7-544440304DWG~ 3~EBOA54_5045445~7-544440303DWG~ 4~EBOA54_5047939~7-344443445DWG~ 5~EBOA54_5047770~7-454440054DWG~ 6~EBOA54_5045048~7-344443484DWG~ 7~EBOA54_5045444~7-344440300DWG~ 8~EBOA54_5047833~7-553447500DWG~ 9~EBOMPS_5040395~~ 10~EBOMPS_5040385~~ 11~EBOA54_5048008~7-544A44574DWG~ 12~EBOMPS_5040387~~ 13~EBOMPS_5040394~~ 14~EBOMPS_5040394~~ 15~EBOMPS_5040395~~ 16~EBOMPS_5040487~~ 17~EBOA54_5045075~7-444440444DWG~ 18~EBOA54_5047748~7-344444043DWG~ 19~EBOA54_5047475~7-344450444DWG~ 20~EBOMPS_5040404~~ 21~EBOMPS_5040397~~ 22~EBOMPS_5040375~~ 23~EBOMPS_5040383~~ 24~EBOMPS_5040404~~ 25~EBOMPS_5040403~~ 26~EBOMPS_5040444~~ 27~EBOMPS_5040378~~ 28~EBOMPS_5040444~~ 29~EBOMPS_5040398~~ 30~EBOMPS_5040447~~ 31~EBOA54_5048404~7-344440000DWG~ 32~EBOA54_5047954~~ 33~EBOA54_5047995~7-344540049DWG~ 34~EBOMPS_5040407~~ 35~EBOA54_5047845~7-344450440DWG~ 36~EBOMPS_5040375~~ 37~EBOA54_5047549~7-344534444DWG~ 38~EBOA54_5048444~7-544A44408DWG~ 39~EBOA54_5048444~7-344444044DWG~ 40~EBOMPS_5040448~~ 41~EBOMPS_5040444~~ 42~EBOA54_5048445~7-544A44598DWG~ 43~EBOMPS_5040408~~ 44~EBOMPS_5040449~~ 45~EBOMPS_5040444~~ 46~EBOMPS_5040443~~
可能なサンプル出力 1:
EBOA54_5047734~7-554440039DWG EBOA54_5045445~7-544440304DWG 等..
考えられるサンプル出力 2:
配列 1-EBOA54_5047734、EBOA54_5045445、EBOA54_5045445、EBOA54_5047939 など。 配列 2-7-554440039DWG、7-544440304DWG、7-544440303DWG、7-344443445DWG など.
私の意図は、DWG 番号を同じ形式の別のファイルと比較して、EBO 番号が時間の経過とともに変化したかどうかを判断できるようにすることです。文字列の長さと開始文字は時間の経過とともに変化する可能性があるため、特定の文字をハードコーディングすることはできません。区切り文字に基づいている必要があります。以下にリストされている私のコードがやろうとしているように、テキストファイルに書き込んだり、配列に書き込んだりすることができます。それが配列に書き込まれる場合、 ~ チルダを配列に追加したくありません。
コード試行:
void extract_xml_ebo_dwg()
{
int uu = 0;
int j;
char *y = 0;
char data_field[25][50];
char delimiter;
fgets(Test_line_in, LINESZ, xml_ebo_dwg_file);
strcpy(testebo_work_line, Test_line_in);
y=strtok(testebo_work_line, "~");
j = 0;
while(y)
{
j++;
if(j==1)
{
strcpy (ebo_index, y);
}
y = strtok(NULL,"~");
if(ebo_index)
{
strcpy(line_out, ebo_index);
printf(ebo_index);
strcat(line_out,"~");
fprintf(Testfileout1, line_out);
}
if(j==2)
{
strcpy (DWG_id, y);
}
y = strtok(NULL,"~");
if(DWG_id != " ")
{
strcpy(line_out, DWG_id);
printf(DWG_id);
strcat(line_out, "~");
fprintf(Testfileout1, line_out);
}