[問題] 關於指標讀取文字的問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C
問題(Question):
對於將文字printf的結果,接在%s後的文字會覆蓋前面的文字
餵入的資料(Input):
<start>007725
存於fp.txt檔裡
預期的正確結果(Expected Output):
"*/007725.lab"
錯誤結果(Wrong Output):
.lab"7725
程式碼(Code):(請善用置底文網頁, 記得排版)
FILE *fp;
char *p ,line[256], file_no[256] , status[256];
int main()
{
fp=fopen("fp.txt","r");
while((p=fgets(line,sizeof(line)-1,fp))!=NULL)
{
p=strchr(line,'\n'); *p='\0';
p=strchr(line,'>');
if(p!=NULL) p++;
strcpy(file_no,p);
p=strchr(line,'>'); *p='\0';
p=strchr(line,'<');
if(p!=NULL) p++;
strcpy(status,p);
printf("\"*/%s.lab\"\n",file_no);
return 0;
}
}
補充說明(Supplement):
因為是個滿長的程式
所以小弟只擷取這一段有問題的地方
而status是個必須偵測的文字
雖然在此沒使用到....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.144.76
※ 編輯: yetbomb 來自: 140.113.144.76 (03/26 21:44)
推
03/26 22:18, , 1F
03/26 22:18, 1F
→
03/26 22:18, , 2F
03/26 22:18, 2F