為什麼這篇Scanf string C鄉民發文收入到精華區:因為在Scanf string C這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者YCK (Y.C.K)看板C_and_CPP標題[問題] 可以用scanf存C++ String...
Q1: (已解決..就是此題不能這樣搞XD)
想請問我用了C++ String宣告變數之後
能否用C的Scanf把資料輸入該變數
然後用printf輸出?
像是:
string text;
scanf("%s",&text);
printf("%s\n",text);
-------------------------------------------------
Q2:
我現在用了C++ STL中的map開了一個Table
map<string,string> Table;
Table["Test"]="12345";
然後有一個char*變數為temp,其內容為"Test"
我可以用這個temp去作Table的index嗎?
像是cout<<Table[temp] <<endl;
然後顯示出"12345"
可以這樣搞嗎? 不行的話能不能作什麼修正去實行這個作法?
--
諸葛亮 :「魯肅,近來可好?」
魯肅 :「安然無恙。」
諸葛亮 :「魯夫人呢?」
魯肅 :「他應該在偉大的航道上。 」
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.233.40.239
關於Q2:
char code[7],op[3];
while(scanf("%s",code)!=EOF){
code[6]='\0', op[2]='\0';
printf("Input Code:%s\n",code);
strncpy(op,code,2);
cout<<op<<endl;
printf("OP-code:%s, mnemonic:%s\n",op,Table[op]);
}
其中op[3]是在while中才被指定內容.
執行到cout<<op<<endl;這邊都ok
但是最後一行printf就會掛掉..如果把Table[op]拿掉就正常...
所以..不能這樣用嗎?
※ 編輯: YCK 來自: 118.233.40.239 (03/30 00:52)
※ 編輯: YCK 來自: 118.233.40.239 (03/30 00:53)