我需要詢問用戶一個ID號碼,然後使用函數fseek()
來查找用戶輸入的ID號碼的位置,然後才能夠修改記錄。我有這樣的事情:使用fseek()查找用戶輸入的位置
printf("Enter ID Card Number: \n");
scanf("%s", editCust.idNumber);
fseek(custFile, (editCust.idNumber -1)*sizeof(struct customer), SEEK_SET);
我需要詢問用戶一個ID號碼,然後使用函數fseek()
來查找用戶輸入的ID號碼的位置,然後才能夠修改記錄。我有這樣的事情:使用fseek()查找用戶輸入的位置
printf("Enter ID Card Number: \n");
scanf("%s", editCust.idNumber);
fseek(custFile, (editCust.idNumber -1)*sizeof(struct customer), SEEK_SET);
號
首先,替補:
的scanf( 「%S」,editCust.idNumber);
爲
的scanf( 「%d」,& editCust.idNumber);
%s代表字符串值,%d代表十進制值。
格式的一個很好的來源可以找到here。
我的idNumber是一個字符串值 – user1928374
@ user1928374然後你必須將它轉換爲一個整數(使用'strtol'或類似的)來做算術運算。 –
正確,但請參閱Daniel Fischer所解釋的,您正在從字符串值中減去1。 – coelhudo
你的問題是什麼? –
我使用fseek()函數嗎? – user1928374
如果'custFile'是您的打開文件的句柄,並且第二個參數解析爲正確的文件偏移量(我沒有要確認的信息),那麼您就是。你試過了嗎? –