CreateFile & ReadFile
如何打开CreateFile API在Main的argv []中指定的文件名(例如D:\ a.txt)?
1 2
| CreateFile( ReadBuffer, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL ); |
-
我建议您不要尝试编写多语言源文件。选择C或C ++之一!
-
我道歉。现在你是我的问题吗?我是新来的,所以请忽略一些错误
-
为什么不使用fopen和fread代替呢?
-
CreateFile的MSDN文档似乎很全面。如果不需要所有复杂功能,则可以尝试使用标准fopen()函数:fopen(argv[1],"w")。
-
是的,这很容易,但是我只能使用CreateFile。
-
您应该确切地说明问题所在,因为按照当前的问题,回答" HANDLE h = CreateFile(argv [1],GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);是正确的;"但这很明显,那一定是您遇到的其他问题。
-
我的CreateFile方法在"连接"功能中。因此,我应该从Main传递给Connect,以便它正确读取argv [1]。我试图通过它作为main(int argc,char * argv []){connect(&argv); }无效连接(char * arg){CreateFile(...);这段代码显示了关于" 2个重载都不能转换所有参数类型"的错误
在我看来,您的问题仅仅是您正在尝试调用这样的函数
1 2 3 4 5
| Connect(char *filename)
{
HANDLE hFile = CreateFile(filename, ...);
....
} |
而且不知道如何掌握第一个命令行参数。 像这样做:
1 2 3 4 5 6 7 8 9 10 11 12
| int main (int argc , char *argv [])
{
if (argc != 2)
{
printf("Incorrect number of arguments supplied\
.")
return 1;
}
Connect (argv [1]);
.....
return 0;
} |
请注意,argv是一个包含argc个项目的数组,其中每个项目的类型都是char*。 因此,您只需要索引1处的项目。索引0处的项目是流程名称。
-
如果文件名包含URL列表,那么我如何逐行读取文件。 因为如果我使用while循环读取直到遇到回车,就必须将所有InternetCrackUrl,InternetConnect,HttpOpenRequest,HttpSendRequest,HttpQueryInfo都放入while循环中。 有没有更好的方法可以使用" while"循环执行此操作,直到仅使用回车逻辑。
-
抱歉,这是一个新问题,需要向我们展示一些代码。 一次只问一个问题,并提出一些小的澄清意见。
-
哦...好吧...我将其发布为带有一些编码的新问题,但我认为它很杂乱。 无论如何,请看。
-
每当我创建文件时,VB都会要求在新实例中进行调试并中断调试。