更有意思的是用不同方式同时读取 stdin,得到的内容居然是两条时间线:- #include <windows.h>
- #include <stdio.h>
- main(){
- int i=0,j=0;
- wchar_t str[8192]=L"";
- char temp[1111]="";
- for(i=0;++i;){
- Sleep(1000);
- fgetws(str,1024,stdin);
- wprintf(L"@1 %s\r\n",str);
- fgetws(str,1024,stdin);
- wprintf(L"@2 %s\r\n",str);
- system("set /p n=&call echo Batch: %n%");
- fgetws(str,1024,stdin);
- wprintf(L"@3 %s\r\n",str);
- fgetws(str,1024,stdin);
- wprintf(L"@4 %s\r\n",str);
- getch();
- }
- }
复制代码 结论:cmd 打破时空壁垒,穿越了 |