動的に割り当てられた変数は SecureZeroMemory でトリミングされ、ReadFile は短い 5 文字の文字列と残りの正方形の束を入力します。問題は、文字列の末尾にあるジャンク文字です。
「モーター췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍」
ReadFile の lpNumberOfBytesRead パラメータは、文字列が 10 文字であることを示しています。これは Unicode であるためですか?
これらの末尾のジャンク文字を削除する方法を教えてもらえますか? それらをクリアするZeroMemoryのような機能はありますか?
TCHAR *sIncoming;
sIncoming = (TCHAR *) malloc(sizeof(TCHAR) * 4096 + sizeof(TCHAR));
RtlZeroMemory(sIncoming ,sizeof(sIncoming));
// (a string array with no characters in it: "")
bSuccess = ReadFile(hPipe,sIncoming ,BUFSIZE*sizeof(TCHAR),&dwBytesRead,NULL);
// Now the string array has the incoming string plus extra characters in it:
// "motor췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍췍"
free(sIncoming);
ありがとう!