[問題] 字串處理問題

看板C_and_CPP作者 (消失)時間12年前 (2012/05/25 00:39), 編輯推噓0(1119)
留言21則, 10人參與, 最新討論串4/4 (看更多)
預期的正確結果(Expected Output): 正確地複製字串 錯誤結果(Wrong Output): 程式當掉 程式碼: char* temp = funA(); if (temp == NULL) { funB(char *para_val); //TODO:有沒有可能把para_val的值複製到temp上? } printf("%s", temp); //希望是這邊可以依然使用temp參數來操作 該怎麼做呢? 使用strcpy會錯誤 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.24.52.88

05/25 00:43, , 1F
雖然看不太懂在問什麼,funB(temp);不就好了
05/25 00:43, 1F

05/25 00:47, , 2F
因為 funA 可能會 return NULL 給 temp
05/25 00:47, 2F

05/25 00:49, , 3F
想要最後的 temp 拿到para_val的值
05/25 00:49, 3F

05/25 00:49, , 4F
潘朵拉的function??
05/25 00:49, 4F
※ 編輯: paulyanzi 來自: 114.24.52.88 (05/25 00:55)

05/25 00:54, , 5F
temp = funB(....)不行嗎?
05/25 00:54, 5F

05/25 00:56, , 6F
原PO的問題跟政府一樣天馬行空
05/25 00:56, 6F

05/25 01:45, , 7F
strcat, strcpy ?
05/25 01:45, 7F

05/25 01:47, , 8F
http://ideone.com/BqrYq 這是一種可能的寫法
05/25 01:47, 8F

05/25 01:50, , 9F
亂猜:程式當掉可能是funA()回傳了stack裡的位址
05/25 01:50, 9F

05/25 05:08, , 10F
可以把 funA() 的內容放上來嗎?
05/25 05:08, 10F

05/25 08:37, , 11F
只宣告char *,卻不配置空間,很好奇原po要如何操作
05/25 08:37, 11F

05/25 09:33, , 12F
你的temp在複製para_val前,請先做malloc
05/25 09:33, 12F

05/25 16:46, , 13F
老實說strcpy在哪我怎麼沒看見XD
05/25 16:46, 13F

05/26 20:53, , 14F
funA可能會return NULL 或其他正確的, 只有在NULL才會錯
05/26 20:53, 14F

05/26 20:54, , 15F
strcpy在執行funB後,原本想把para_val的內容複製到temp
05/26 20:54, 15F

05/26 20:54, , 16F
然後底下的程式繼續用temp來使用就好
05/26 20:54, 16F

05/26 21:33, , 17F
funA funB temp para_val 光看這些命名就看不下去了
05/26 21:33, 17F

05/26 21:35, , 18F
第一次看見有人把含數參數反向操作的
05/26 21:35, 18F

05/27 00:15, , 19F
我的推文被無視了 (大哭)
05/27 00:15, 19F

05/27 00:36, , 20F
不要欺負超哥
05/27 00:36, 20F

05/27 14:07, , 21F
有看到james的方式 謝謝
05/27 14:07, 21F
文章代碼(AID): #1FlcHI21 (C_and_CPP)
文章代碼(AID): #1FlcHI21 (C_and_CPP)