[問題] 編譯編不過(想要將字串分開的功能)

看板C_and_CPP (C/C++)作者 (負八)時間8年前 (2017/05/19 17:46), 8年前編輯推噓2(208)
留言10則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) Win10 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) Visual Studio 問題(Question): 編譯的時候會跑出0xC0000005: 寫入位置 0x01316B3E 時發生存取違規。 我把字串改成123之類沒有空白或逗點的時候就可以成功編譯 但我的目的就是要把字串分開....... 程式碼(Code):(請善用置底文網頁, 記得排版) http://ideone.com/b3TInH 大大好 最近在練習 想將字串分成單個字 遇到這個問題 麻煩大大幫忙看一下了 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.110.150.29 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1495187213.A.E73.html

05/19 18:08, , 1F
字串指標
05/19 18:08, 1F

05/19 19:40, , 2F
痾 錯的地方有點多
05/19 19:40, 2F

05/19 19:40, , 3F
要宣告暫存用 char str[?] 的方式先不要用指標
05/19 19:40, 3F

05/19 19:58, , 4F
謝謝樓上大大的解答!!太感謝了QQ 不過想請教一下 這部分為什麼不要用指標呢? 是說如果要用的話有什麼部分要注意嗎? 另外有推薦的書籍可以參考嗎? 感謝您!! ※ 編輯: justtoothick (123.110.150.29), 05/19/2017 20:10:12

05/19 20:58, , 5F
置底13誡有
05/19 20:58, 5F

05/19 21:28, , 6F
指針不能直接存字串,要 new 空間給他才可以
05/19 21:28, 6F

05/19 21:33, , 7F
然後 char* str="ABC"; 這樣的話ABC不能更改
05/19 21:33, 7F

05/19 21:34, , 8F
strtok() 會動到原字串,所以也不能設指針
05/19 21:34, 8F

05/20 00:27, , 9F
你直接指字串是literal constant 東西放在不能改的地
05/20 00:27, 9F

05/20 00:27, , 10F
方 你改他當然失敗
05/20 00:27, 10F
感謝前輩們的回覆!! 謝謝 ※ 編輯: justtoothick (123.110.150.29), 05/22/2017 09:41:18
文章代碼(AID): #1P7hyDvp (C_and_CPP)
文章代碼(AID): #1P7hyDvp (C_and_CPP)