Я озадачен следующей разницей в поведении:
// suppose myfile.txt contains a single line with the single character 's'
errno_t res;
FILE* fp;
char cmd[81];
res = fopen_s(&fp, "D:\\myfile.txt", "rb" );
fscanf(fp,"%80s",cmd); // cmd now contains 's/0'
fclose(fp);
res = fopen_s(&fp, "D:\\myfile.txt", "rb" );
fscanf_s(fp,"%80s",cmd); // cmd now contains '/0' !
fclose(fp);
Результаты не зависят от порядка вызова (то есть сначала вызов fscanf_s, сначала вы получите пустую строку).Скомпилировано на VC ++ - VS2005.Кто-нибудь может воспроизвести?Кто-нибудь может объяснить?
Спасибо!