dir-win32.c
来自「编译后直接运行的MP3播放器全部C语言源代码 一个包含FAT文件系统、系统」· C语言 代码 · 共 98 行
C
98 行
/*************************************************************************** * __________ __ ___. * Open \______ \ ____ ____ | | _\_ |__ _______ ___ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ * $Id: dir-win32.c,v 1.6 2003/06/18 04:48:40 hardeeps Exp $ * * Copyright (C) 2002 by Felix Arends * * All files in this archive are subject to the GNU General Public License. * See the file COPYING in the source tree root for full license agreement. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ****************************************************************************/#include <io.h>#include <windows.h>#include <malloc.h>#include "dir-win32.h"// Directory operations//// opendir// open directory for scanningDIR *opendir ( char *dirname // directory name ){ DIR *p = (DIR*)malloc(sizeof(DIR)); struct _finddata_t fd; unsigned int i; char *s = (char*)malloc(strlen(dirname) + 5); wsprintf (s, "%s", dirname); for (i = 0; i < strlen(s); i++) if (s[i] == '/') s[i] = '\\'; if (s[i - 1] != '\\') { s[i] = '\\'; s[++i] = '\0'; } OutputDebugString (s); wsprintf (s, "%s*.*", s); if ((p->handle = _findfirst (s, &fd)) == -1) { free (s); free (p); return 0; } free (s); return p;}// closedir// close directoryint closedir ( DIR *dir // previously opened dir search ){ free(dir); return 0;}// read dir// read next entry in directorystruct dirent *readdir ( DIR *dir ){ struct _finddata_t fd; if (_findnext (dir->handle, &fd) == -1) return 0; memcpy (dir->fd.d_name, fd.name, 256); dir->fd.attribute = fd.attrib & 0x3f; dir->fd.size = fd.size; dir->fd.startcluster = 0 ; return &dir->fd;}void fat_size(unsigned int* size, unsigned int* free){ *size = 2049; *free = 1037;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?