当前位置:首页 » 硬盘大全 » c读取硬盘
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c读取硬盘

发布时间: 2022-07-14 18:57:12

㈠ 关于c语言程序在一个固定电脑中运行,读取硬盘序列号的问题

之前收集的获取硬盘信息的函数语言是C++,可以成功获得硬盘驱动器的信息,希望能帮到您
void
CGetdiskinfo(DWORD
*dwNum,char
chDriveInfo[][256])//获取硬盘信息
{
DWORD
DiskCount
=
0;
//利用GetLogicalDrives()函数可以获取系统中逻辑驱动器的数量,函数返回的是一个32位无符号整型数据。
DWORD
DiskInfo
=
GetLogicalDrives();
//通过循环操作查看每一位数据是否为1,如果为1则磁盘为真,如果为0则磁盘不存在。
while(DiskInfo)
{
//通过位运算的逻辑与操作,判断是否为1
//Sleep(10);
if(DiskInfo&1)
{
DiskCount++;
}
DiskInfo
=
DiskInfo
>>
1;//通过位运算的右移操作保证每循环一次所检查的位置向右移动一位。*/
}
//
if
(*dwNum
<
DiskCount)
//
{
//
return;//实际的磁盘数目大于dwNum
//
}
*dwNum
=
DiskCount;//将磁盘分区数量保存
//-------------------------------------------------------------------//
//通过GetLogicalDriveStrings()函数获取所有驱动器字符串信息长度
int
DSLength
=
GetLogicalDriveStrings(0,NULL);
//
WCHAR*
DStr
=
new
WCHAR[DSLength];
char
*DStr=new
char[DSLength];
memset(DStr,0,DSLength);
//通过GetLogicalDriveStrings将字符串信息复制到堆区数组中,其中保存了所有驱动器的信息

㈡ 怎么用c或汇编语言读取硬盘卷标

using System;
using System.Management;
class test
{
static void Main()
{
//遍历硬盘.光驱 ..卷标名称
string [] array=Environment.GetLogicalDrives();
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array[i].ToString());
}
//获得硬盘序列号
String HDid;
ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc1 = cimobject1.GetInstances();
foreach (ManagementObject mo in moc1)
{
HDid = (string)mo.Properties["Model"].Value;
Console.WriteLine("硬盘序列号:" + HDid.ToString());
}

}
}

㈢ C P U能直接读取硬盘上的数据

不能。
就像你得用眼睛来将你看见的东西交给你的大脑处理一样,cpu从内存里读取数据进行处理,由硬盘获得的数据转到到内存,内存经由cpu运算获得新的结果后返回到内存,再有内存转交给各个应用程序。

㈣ c语言中有什么函数是可以在windows下读取磁盘扇区信息的

可以使用windows api CreateFile(...),使用磁盘模式,可以针对分区打开或者针对硬盘打开;之后用ReadFile(...) 按扇区读取磁盘数据;
这两个函数具体用法可以在一些编程论坛、博客中找到,很容易找到的。

㈤ 怎么用C语言从某个硬盘上读入文件

#include
"stdio.h"
int
main()
{
FILE
*fp=NULL;
int
ch;
fp=fopen("D:\\sample.txt","r");
//打开文件,需要注意的是,你必须把该文件放在D盘下,不然会报错
while(1)
{
ch=fgetc(fp);
//
if(ch==EOF)/*end
of
file文件末尾*/
break;
printf("%c",ch);
}
//读取数据,直到文件末尾,读取一个数据就输出一个数据
fclose(fp);
//关闭文件
return
0;
}
调试无误。
要把数据存到a[i],改下就行,
int
i=0,a[100];
把上面的变量ch的值赋给数组就行
a[i++]=ch;

㈥ 使用c语言打开磁盘的方法。

#include<stdlib.h>
FILE*fp;
fp=fopen("d:\\文件名.后缀","w");//路径,以写的方式打开文件
不知道你要的是不是这个...你都写win API了,应该会文件操作...
你还可以参考
http://..com/question/556544078.html?qbl=relate_question_2&word=使用c语言打开磁盘的方法.&optimi=

㈦ c、c++、易语言读取硬盘扇区数据源码

1、CreateFile打开硬盘,方法查MSDN关于 CreateFile的说明
2、ReadFile读取扇区数据,读取数据长度必须为每扇区字节数的整数倍

㈧ 用C语言,如何读取硬盘信息

调用系统API。

㈨ c语言怎么随机的读取磁盘文本文件

你的用变量path作为文件绝对路径,你每次要将它的值改变,而你的文件位置是保持不变的,这样当然读不到文件。你要保持同步,就是说path的值发生改变是就要同时把文件给重命名了,给文件重命名用rename()函数,函数原型:int rename(char *lpOldName,char *lpNewName);第一个参数是文件原名,第二个是重命名后的文件名,若重命名成功返回1,否则返回0。头文件stdio.h或io.h。还有要说你上面的代码有错,char path[20]="c:\\"; //你忘记了转义字符而且你应该从path[3]开始赋值,因为"c:\\"除去一个空字符就只有3个字符,下标是从0开始的(\\是一个字符)继续追问: 来自手机问问 文件都在一个文件夹里面,直接改变对应的路径是不是能直接读取到对应的文件呢?我想产生一个随机的路径,而这个随机只在文件名上体现 补充回答: 来自手机问问 知道你的意思,你是是比如文件是c:\test.txt,然后随机名是c:\t138.txt。这就对了,重命名可以不改变文件所在目录啊,比如这样调:rename("c:\\test.txt","c:\\t138.txt");
文件名就由test.txt变成了t138.txt,而所在目录并没有发生变化。 继续追问: 来自手机问问 那怎么才能展现随机读取呢?新手,包含。 补充回答: 来自手机问问 #include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
char path[]="C:\\ff.txt";
char rname[2];
FILE *fp;
/*产生10~20的随机数*/
srand((unsigned)time(NULL));
/*将整数转换成字符串*/
itoa(rand()%20+10,rname,10);
path[2]=rname[0];
path[3]=rname[1];
/*重命名文件*/
rename("C:\\ff.txt",path);
fp=fopen(path,"r");
if(fp==NULL)
{
printf("Open the file failed.\n");
}
else
{
printf("Open the file succed.\n");
}
return 0;
}
这段代码演示了c盘原来有一个ff.txt文件,后来被随机重命名为**.txt,程序去读取。
运行程序前要保证c盘存在ff.txt文件。 继续追问: 来自手机问问 还是那样,编译报错,哎,谢了 补充回答: 来自手机问问 我vc6编译通过啊,你什么编译器? 继续追问: 来自手机问问 一样。可能有地方写错了。 补充回答: VC6.0编译通过啊,可以稍微改一下: 补充回答: #include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{ char path[]="C:\\ff.txt";
char rname[2];
FILE *fp; /*产生10~20的随机数*/
srand((unsigned)time(NULL));
/*将整数转换成字符串*/
itoa(rand()%20+10,rname,10);
path[3]=rname[0];
path[4]=rname[1];
/*重命名文件*/
rename("C:\\ff.txt",path);
fp=fopen(path,"r");
if(fp==NULL)
{
printf("Open the file failed.\n");
}
else
{
printf("Open the file succed.\n");
}
return 0;
}

㈩ C P U能直接读取硬盘上的数据吗

不能。就像人得用眼睛来将你看见的东西交给你的大脑处理一样,cpu从内存里读取数据进行处理,由硬盘获得的数据转到内存,内存经由cpu运算获得新的结果后返回到内存,再有内存转交给各个应用程序。