※ 本文為 BruceX 轉寄自 ptt.cc 更新時間: 2013-06-19 00:47:03
看板 C_and_CPP
作者 標題 [問題] argv 問題
時間 Tue Jun 18 11:49:47 2013
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Visual Studio 2008
int main(int argc, char* argv[]) 主函式中執行以下動作
printf("->%s\n", argv[0]);
printf("->%s\n", argv[1]); 執行 test.exe 876 印出以下結果:
->t
->8
=========================
printf("->len:%d, %s\n", strlen(argv[0]), argv[0]);
printf("->len:%d, %s\n", strlen(argv[1]), argv[1]);
執行 test.exe 876 印出以下結果:
->len:1, t
->len:1, 8
=========================
printf("->%s\n", argv[0] + 0);
printf("->%s\n", argv[0] + 1);
printf("->%s\n", argv[0] + 2);
printf("->%s\n", argv[0] + 3);
printf("->%s\n", argv[0] + 4); 執行 test.exe 876 印出以下結果:
->t
->
->e
->
->s
==========================
看起來他把 argv[0] "test.exe" 每個字母都拆為一個字串
懷疑是編譯環境的設定問題 (Visual Studio 2008)
專案是精靈產生的,印象中是選擇 MFC 的函式 (但沒有使用視窗介面)
請問有人遇過嗎?是不是要在專案屬性內調整哪些細項
才能讓 argv[0] 完整秀出 test.exe 呢
感激~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.251.192.1
→ :試著執行 for(int i = 0; i < argc; i++)1F 06/18 11:58
→ :printf("argv[%d] = %s\n", i, argv[i]); 顯示啥
→ :printf("argv[%d] = %s\n", i, argv[i]); 顯示啥
→ :專案文字式設定為幼女控, 方法一:改文字設定3F 06/18 12:29
→ :方法二: printf("%ls", argv[0])
→ :方法二: printf("%ls", argv[0])
→ :幼女控....5F 06/18 13:15
→ :幼女控....6F 06/18 13:16
→ :to kiki: argc 是 2 沒錯,每個顯示如文內所示7F 06/18 13:32
→ :to olo: 已是幼女控 >///< %ls 可完整秀出!!!!! 感恩啦
→ :to olo: 已是幼女控 >///< %ls 可完整秀出!!!!! 感恩啦
推 :專案->屬性->組態屬性->一般->字元集: 使用幼女控字元集9F 06/18 13:34
→ :改成不是幼女控
→ :改成不是幼女控
→ :趕成非幼女,用 %s 就能正常秀出!!!!!11F 06/18 13:38
→ :感謝大德! m(_ _)m
→ :感謝大德! m(_ _)m
推 :這篇發生啥事了...(往上看13F 06/18 13:42
→ :這篇怎麼了...??? 哪裡有幼女?!!14F 06/18 15:42
→ :unicode??15F 06/18 16:19
→ :突然對 unicode 非常有好感16F 06/18 16:45
推 :這洗啥咪歹擠?0_017F 06/18 20:34
--
回列表(←)
分享