我打算製作一個python程序來讀取XML文檔,並在做一個動作時用它作爲參考。然而,XML文檔本來是手工創建的乏味,所以我決定做一個C程序來完成它的大部分工作,不包括第一行和根元素。以下是代碼:在使用strsep和fwrite時出現奇怪的輸出C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
FILE * fp = fopen("/Users/rajshrimali/Desktop/SPC_CMS.txt", "r");
FILE * fw = fopen("/Users/rajshrimali/Desktop/SPC_XML", "a");
char *line = NULL;
size_t linecap = 0;
ssize_t linelen;
while ((linelen = getline(&line, &linecap, fp)) > 0){
char *token;
int x = 1;
while((token = strsep(&line, ",")) != NULL){
printf("%s", token);
if(x == 1){
fwrite("<item> \n", linelen, 1, fw);
fwrite("<name> \n", linelen, 1, fw);
fwrite(token, linelen, 1, fw);
fwrite("\n </name> \n", linelen, 1, fw);
x++;
}
if(x == 2) {
fwrite("<SPC> \n", linelen, 1, fw);
fwrite(token, linelen, 1, fw);
fwrite("\n </SPC> \n", linelen, 1, fw);
fwrite("</item> \n", linelen, 1, fw);
}
}
}
}
該代碼編譯時沒有錯誤。然而,當我運行它,該文件SPC_XML不是接近直角:
<item>
�<na<name>
<Agate�0.80
</name>
�<SPC>
</Agate�0.80
</SPC>
<</item>
,�<item>
<na<name>
這廢話持續了一段時間。 輸入文件,fp
,曾在此格式的數據:
Agate,0.80
Aluminum bronze,0.436
Aluminum,0.87
Antimony,0.21
Apatite,0.84
我認爲錯誤與fwrite的,雖然我不知道它是什麼。問題是什麼?
謝謝!!!!!這固定它! – elder4222
@ elder4222沒問題。 – Xymostech