2013-01-03 22 views
1

我需要詢問用戶一個ID號碼,然後使用函數fseek()來查找用戶輸入的ID號碼的位置,然後才能夠修改記錄。我有這樣的事情:使用fseek()查找用戶輸入的位置

printf("Enter ID Card Number: \n"); 
scanf("%s", editCust.idNumber); 
fseek(custFile, (editCust.idNumber -1)*sizeof(struct customer), SEEK_SET); 
+0

你的問題是什麼? –

+0

我使用fseek()函數嗎? – user1928374

+1

如果'custFile'是您的打開文件的句柄,並且第二個參數解析爲正確的文件偏移量(我沒有要確認的信息),那麼您就是。你試過了嗎? –

回答

2

首先,替補:

的scanf( 「%S」,editCust.idNumber);

的scanf( 「%d」,& editCust.idNumber);

%s代表字符串值,%d代表十進制值。

格式的一個很好的來源可以找到here

+0

我的idNumber是一個字符串值 – user1928374

+0

@ user1928374然後你必須將它轉換爲一個整數(使用'strtol'或類似的)來做算術運算。 –

+0

正確,但請參閱Daniel Fischer所解釋的,您正在從字符串值中減去1。 – coelhudo