prac_filerw.txt檔案中有如下鏈結資訊:
後面可能還有?內容
鏈結還有?內容
比如上面的示例就改為:
後面可能還有?內容
鏈結還有?內容
def
revise_link
(user_input)
: file_content =
""with
open
('prac_filerw.txt'
,'r'
, encoding=
'utf8'
)as f:
for line in f:
# 讀取每一行line,資料型別為str
if'?p='
in line:
str1, str2 = line.split(
'?p='
) old_str =
''for i in str2:
ifnot i.isdigit():
break
# 只是跳出了這層for迴圈,並沒有跳出整個line迴圈
old_str += i
new_str =
str(
int(old_str)
+ user_input)
# 替換時加上?p=,這樣就避免了把同一行中其它數字也更改了。
line = line.replace(
('?p='
+old_str)
,'?p'
+str
(int
(old_str)
+ user_input)
) file_content += line
print
(file_content)
with
open
('prac_filerw.txt'
,'w'
, encoding=
'utf8'
)as f:
f.write(file_content)
user_input =
int(
input
("請輸入乙個數字:"))
revise_link(user_input)
關於鏈結位址
回過頭來看我們的helloworld程式,在makefile中 ttext 0x7c00,鏈結位址為0x7c00,code標號的偏移位址為0x15,則鏈結後其位址為0x7c15,其他函式呼叫此函式時,也就會呼叫位址0x7c15,這時jmpl 0,code語句反彙編後為 假如我們在makefile中改...
20180601 鏈結位址
已知表頭元素為 c 的單鏈表在記憶體中的儲存狀態如下表所示。現將 f 存放於 1014h 處並插入到單鏈表中,若 f 在邏輯上位於 a 和 e 之間,則 a,e,d 的 鏈結位址 依次是 1010h,1014h,1004h 1010h,1004h,null 1014h,1010h,1004h 101...
鏈結位址和儲存位址
什麼是儲存位址呢?我們知道,我們編寫的c 會被編譯成彙編指令,進一步變成機器碼,最後載入到arm的記憶體中。也就是說我們的彙編指令被儲存在記憶體之中,而指令對應的位址,就是他的 儲存位址 其實 儲存位址 的值,一直由pc這個暫存器所記載著。想改變 儲存位址 的值直接改變pc好了 再說鏈結位址,他是指...