看板 C_and_CPP 關於我們 聯絡資訊
我在MSDN看到以下內容 If a file has a long file name, the complete name appears in the cFileName field, and the 8.3 format truncated version of the name appears in the cAlternateFileName field. Otherwise, cAlternateFileName is empty. 不過我用以下的語法去做判斷時 會出現非預期的情形 if(FindFileData.cAlternateFileName != NULL) printf("FileName Too Long\n"); 情形就是不管cAlternateFileName是不是empty 他都會印出printf()的內容 請問版友 是我哪邊弄錯了?又必須怎麼改進 謝謝! -- ╔╮ ╭═╦╮╭═╦╗╮ ╮╔══╮╭═╦╮╮ ╔╮╔══╮╭══╮ ╠╣ ╠═╬╣╭╬╩╯╰╦╦╯╠═╦╮║ ╠╣║║╠╣╠╣ ╰═╦╮ ╠╣ ╭║ ╠╣║╰╔╗ ╠╣ ║ ╠╣║ ╠╣║╰╠╣║╰╔╗║ ╠╣ ╰╩═╯╰ ╰╝╚═╩╯ ╰╝ ╚═╩╯╰═╩╯╰ ╰╝╚═╩╯╰═╩╯ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.211.0.80
VictorTom:那個 empty, 是指 "", 還是指 NULL ?? 11/02 18:54
VictorTom:其實您也可以試著把它們字串全印出來看一遍就知道了XD 11/02 18:54
lazybones:我試過 若是empty 印出來是"" 11/03 09:25
VictorTom:所以是""不是NULL啊, 那你不能用 != NULL來判斷啊@_@" 11/03 09:40
VictorTom:如果它只是普通的char[], 那也許就用strcmp(), 或者更簡 11/03 09:40
VictorTom:單判斷第一個char是不是'\0'吧:) 11/03 09:40
lazybones:或許我說的不夠清楚...這些我都嘗試過了..囧> 11/03 09:49
lazybones:結果都一樣... 11/03 09:49
lazybones:所以想說是我哪邊理解錯了...Orz 11/03 09:50
lazybones:v謝謝 11/03 09:50
VictorTom:Err~NULL與""(或者char[0]=='\0')都不行!?小弟也暈了Orz 11/03 09:53
lazybones:哈 我再想想看 謝謝喔! 11/03 09:57