[問題] unix 的 scanf 跟 win 上的scanf 有不ꐠ…
這次作業是用C 在unix 上跑socket (SMTP)
前面都沒問題
sayHello();
sendFromAddr();
sendToAddr();
sendData();
可是到了輸入內容後
我輸入
abc d erfg htwkefwo ;owji e
然後按enter
信寄出去了
程式也結束了
可是我去收信看的時候
整封信的內容只有 abc
後面的 d erfg htwkefwo ;owji e 都不見了
我原本以為這個是SMTP的問題
所以我用cmd 連上telnet XX.XX.XX.XX 25
然後寄出一封信
後來發現
SMTP 還是很忠實地呈現我在按下 enter 鍵之前所有輸入的內容
究竟是為什麼會這樣呢??
是unix 本身的關係嗎??
以下是我輸入內容的副程式
void writeContent()
{
int check;
char data[MAX];
do
{
fflush(stdin);
scanf("%s", &data);
if (strcmp(data, "."))
{
strcat(data, "\n");
write(connectedServer, data, strlen(data));
}
else
break;
} while (1);
strcpy(data,".\n");
write(connectedServer, data, strlen(data));
}
--
肝不好 ▁▁ ● ◤ 肝若好
人生是黑白的 ▏ ◤ 考卷是空白的
▏ ◤ 、 ﹐
● ●b 囧 ▎ ●> ● ◤ ▌ ﹍﹍ 0 ▊囧> 幹...
▲ ■┘ ■ ▎ ■ █◤ ▌ ㄏ▋ ︶■
〈﹀ ∥ ▁▁∥ ▎ ﹀〉◤ ▋ ▊ 〈\ ψcockroach727
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.232.58.39
※ 編輯: liu2007 來自: 118.232.58.39 (03/21 15:28)
※ 編輯: liu2007 來自: 118.232.58.39 (03/21 15:29)
→
03/21 15:54, , 1F
03/21 15:54, 1F
→
03/21 15:55, , 2F
03/21 15:55, 2F
→
03/21 16:00, , 3F
03/21 16:00, 3F
→
03/21 16:04, , 4F
03/21 16:04, 4F
→
03/21 16:04, , 5F
03/21 16:04, 5F
推
03/21 19:20, , 6F
03/21 19:20, 6F
→
03/21 19:21, , 7F
03/21 19:21, 7F