[問題] 可以直接讀入整數而不是字串嗎

看板C_and_CPP作者 (雁蚌)時間14年前 (2010/03/05 00:16), 編輯推噓6(606)
留言12則, 5人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 要寫大數運算的程式 不過用fgets的話讀入的會是字串,char型別的陣列也不能拿來相加減 用atoi來做轉換的話,在陣列情況下似乎會出問題= = ex.atoi(x1[0])好像沒有效果 不知道有沒有方法可以解決這個窘況 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.246.173

03/05 00:22, , 1F
出問題可能是overflow, 他預期的是const char*, 如果
03/05 00:22, 1F

03/05 00:23, , 2F
你x1是字元陣列, 型態一開始就不對了
03/05 00:23, 2F

03/05 00:26, , 3F
sscanf / sprintf
03/05 00:26, 3F

03/05 00:39, , 4F
大數運算? 那還是自己來或直接拿現成的lib吧
03/05 00:39, 4F

03/05 01:11, , 5F
不過如果用int陣列的話fgets不給放= =
03/05 01:11, 5F

03/05 01:12, , 6F
sscanf剛剛去查過了,用法好像有點複雜...我再研究研究@@
03/05 01:12, 6F

03/05 01:17, , 7F
我真的不懂你的問題 又說要大數運算 又想讀出整數..
03/05 01:17, 7F

03/05 01:20, , 8F
原po可能是想每幾個數字分開放在陣列元素裡吧?
03/05 01:20, 8F

03/05 01:25, , 9F
是阿,想說一個一個轉成int型別才可以做運算
03/05 01:25, 9F

03/05 01:25, , 10F
剛剛想到怎麼做了,謝謝你們的幫忙:)
03/05 01:25, 10F

03/05 01:31, , 11F
那樣是比較直覺 我之前蠻費工的用char去做... io時比較方便
03/05 01:31, 11F

03/05 19:11, , 12F
你可以用 ASCII 的對應關係 (x1[0]-'0') 就可以了
03/05 19:11, 12F
文章代碼(AID): #1BZzpM7O (C_and_CPP)