gpt4 book ai didi

计算Windows C中文件的行数

转载 作者:太空宇宙 更新时间:2023-11-04 06:43:04 25 4
gpt4 key购买 nike

我有这个:

#include "stdafx.h"
#include <windows.h>
#include <assert.h>




int _tmain(int argc, _TCHAR* argv[])
{
LPCTSTR filePath = argv[1];
DWORD numLines = _ttoi(argv[2]);

HANDLE fileHandle = CreateFile(filePath,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_FLAG_SEQUENTIAL_SCAN,NULL);


DWORD fileSize = GetFileSize(fileHandle, NULL);

TCHAR* file = (TCHAR*)malloc(fileSize);
DWORD bytesRead=0;

ReadFile(fileHandle,file,fileSize,&bytesRead,NULL);

DWORD numLinesFile = 0;
for(DWORD i = 0;i<fileSize;i++)
if(file[i] == '\n')
numLinesFile++;



free(file);
CloseHandle(fileHandle);
return 0;
}

每次都返回 0,即使文件实际上有 10 行长。

最佳答案

sizeof(file) 是指针变量file 的大小。您想将 Size 传递给 ReadFile

您可能还想显式使用 char 而不是 TCHAR - 如果您使用定义的 UNICODE 编译它,它将不起作用,您重新访问未分配的内存。

关于计算Windows C中文件的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5289952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com