對於我的程序的一部分,我收到一個字符數組並檢查是否所有字符都是整數。如何擺脫循環?
當其他程序沒有發送一個整數字符串,如asdf
,它捕捉到。但在退出之前,它會循環四次。
如何在讀取第一個字符不是int後立即跳出該段?我已經嘗試了很多東西,但一段時間都陷入了同樣的問題。我覺得這是一個簡單的修復。
編輯:我想它只打印傳入連接收到和無效第一節。然後從那裏繼續。
int iRecvB = recv(acceptSocket, recvSerial, STRLEN, 0);
recvSerial[iRecvB] = '\0';
if (iRecvB > 0)
{
for (int n = 0; n < iRecvB; n++)
{
if (recvSerial[n] < '0' || recvSerial[n] > '9')
{
isNumber = false;
}
if (!isNumber)
{
int iSend = send(acceptSocket, "no", 2, 0);
cout << "\nIncoming connection received.\n" << "Data received:" << endl;
cout << "\tSerial: " << recvSerial << endl;
cout << "\t INVALID\n" << endl;
if (iSend == SOCKET_ERROR)
{
cerr << "ERROR: Failed to send message11111\n";
cleanup(acceptSocket);
return 1;
}
}
}// END OF FOR LOOP FOR NUM CHECK
}
else if (iRecvB == 0)
{
cout << "Connection closed\n";
cleanup(acceptSocket);
return 0;
}
else
{
cerr << "ERROR: Failed to receive message\n";
cleanup(acceptSocket);
return 1;
}
這就是控制檯顯示:
Incoming connection received.
Data received:
Serial: asdf
INVALID
Incoming connection received.
Data received:
Serial: asdf
INVALID
Incoming connection received.
Data received:
Serial: asdf
INVALID
ERROR: Failed to send message11111
C:\Users\Admin\Desktop\Activation\ActivationServer\Debug>
查找到休息和繼續 – ApproachingDarknessFish
@ValekHalfHeart我做到了。但我似乎無法找到合適的地方放置它們。 – trama