[問題] 如何限制使用者輸入字串只能輸入5個字元
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC2008
問題(Question):
想要限制使用者輸入字串 字串長度最多只有5個字元
錯誤結果(Wrong Output):
若輸入長度超過限制會出錯
程式碼(Code):(請善用置底文網頁, 記得排版)
#include <stdlib.h>
#include <stdio.h>
char *Name(void){
char *temp= (char*)malloc(sizeof(char)*5);
printf("請問您的大名是(請勿輸入超過5個英文字):\n");
scanf("%5s",temp);
rewind(stdin);
return temp;
}
補充說明(Supplement):
現在有想到一個做法
就是用一個迴圈 讓使用者一個字元一個字元輸入
或是開一個很大的字元陣列 不管使用者輸入多少 只傳回第0~第4
但跟朋友討論 這樣不太人性化
不知道有沒有其他的做法
--
--
▄ ▆ ● ◤ ●
◢ ˙ ˙ ◣ ● ▼◥ ▲●
◆◣ ◤◆ 上吧,藍胖!! ● ▲●
◥ \◤' (OwQ )
◣ ◣ ◤ ) ) ﹀ \ \ ◣
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.242.30.151
推
03/31 18:46, , 1F
03/31 18:46, 1F
推
03/31 18:55, , 2F
03/31 18:55, 2F
→
03/31 18:57, , 3F
03/31 18:57, 3F
→
03/31 19:01, , 4F
03/31 19:01, 4F
→
03/31 19:02, , 5F
03/31 19:02, 5F
→
03/31 19:04, , 6F
03/31 19:04, 6F
※ 編輯: kattte 來自: 111.242.30.151 (03/31 19:05)
→
03/31 21:09, , 7F
03/31 21:09, 7F
→
03/31 21:09, , 8F
03/31 21:09, 8F
→
03/31 21:14, , 9F
03/31 21:14, 9F
→
03/31 22:08, , 10F
03/31 22:08, 10F
→
03/31 22:08, , 11F
03/31 22:08, 11F
→
03/31 22:22, , 12F
03/31 22:22, 12F
→
03/31 22:38, , 13F
03/31 22:38, 13F
→
03/31 22:38, , 14F
03/31 22:38, 14F
→
03/31 22:39, , 15F
03/31 22:39, 15F
→
03/31 22:43, , 16F
03/31 22:43, 16F
→
03/31 22:44, , 17F
03/31 22:44, 17F