Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

C Source code to format a hard drive

Posted on 2000-03-24
6
Medium Priority
?
1,764 Views
Last Modified: 2008-03-03
I am working on a drive utility and I need a little jumpstart with the formatting routines {having a major brain cramp on the hard drive routines}.  What would be of the greatest help would be some source code in C on how to format a hard drive (by the way I am writting this utility for a Intel DOS/16-bit platform, supporting FAT12/FAT16 and eventually FAT32) .  I am already able to format a floppy drive and would now like to add hard drive capabilities to the program.

Thanks.

Michael
0
Comment
Question by:mmessuri
6 Comments
 
LVL 5

Expert Comment

by:Wyn
ID: 2655828
FYI(maybe not your case)
HOWTO: Call SHFormatDrive in Windows 95 and Windows NT
http://support.microsoft.com/support/kb/articles/Q173/6/88.ASP 
DeviceIoContol()
0
 

Author Comment

by:mmessuri
ID: 2656009
Thanks for the FYI; However, I am sorry to say that this app will (for now) be running only in a DOS 6.x environment.

-- Michael --
0
 

Expert Comment

by:C_Dreamer
ID: 2656175
#include <stdlib.h>

system("format c:");

There's no other way in C. If you want to go to a lower level, you'll have to use platform-specific libraries and extensions, as C itself knows nothing of such things as "drives", contenting itself with the knowledge that there's probably some kind of file system.

Formatting a hard drive is, in any case, such a complex business nowadays that you are well advised not to do this. I can think of exactly one use for the program you propose - malice.



0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 4

Accepted Solution

by:
feenix earned 2985 total points
ID: 2656576
How about looking into the Linux mkdosfs sources? There you can find out how to create different FAT filesystems and more.

ftp://ftp.sunet.se/pub/multimedia/Berkeley/linux/fat32/mkdosfs-0.4.tgz
0
 

Author Comment

by:mmessuri
ID: 2656871
feenix:

Thanks for the answer.  While it was not exactly what I was looking for, it does provide enough information for me to move on past my brain block.  Besides, the multiple file system information will be helpful as I complete my disk partitioning program (it combines the fdisk program with the format program).

-- Michael --
0
 

Author Comment

by:mmessuri
ID: 2656881
C Dreamer:

Thanks for taking the time to comment; however, I was not able to put to use your suggestion as format.com is not going to be available.

BTW:

My intentions are not of malice.  The program is a hard disk partitioning application that allows for the creation / deletion and formating of the partition without the use of format.com or fdisk.exe

-- Michael --
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

An Outlet in Cocoa is a persistent reference to a GUI control; it connects a property (a variable) to a control.  For example, it is common to create an Outlet for the text field GUI control and change the text that appears in this field via that Ou…
Windows programmers of the C/C++ variety, how many of you realise that since Window 9x Microsoft has been lying to you about what constitutes Unicode (http://en.wikipedia.org/wiki/Unicode)? They will have you believe that Unicode requires you to use…
The goal of this video is to provide viewers with basic examples to understand and use structures in the C programming language.
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use for-loops in the C programming language.

972 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question