Как открыть имя файла, указанное в файле mainv argv [] (скажем, D: \ a.txt) с помощью API CreateFile?CreateFile & ReadFile
CreateFile(ReadBuffer, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
Как открыть имя файла, указанное в файле mainv argv [] (скажем, D: \ a.txt) с помощью API CreateFile?CreateFile & ReadFile
CreateFile(ReadBuffer, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
Мне кажется, что проблема состоит в том, что вы пытаетесь вызвать функцию как этого
Connect(char *filename)
{
HANDLE hFile = CreateFile(filename, ...);
....
}
и не знаете, как раздобыть первый аргумент командной строки. Нравится ли это так:
int main(int argc, char *argv[])
{
if (argc != 2)
{
printf("Incorrect number of arguments supplied\n.")
return 1;
}
Connect(argv[1]);
.....
return 0;
}
Обратите внимание, что argv
представляет собой массив, содержащий элементы argc
, где каждый элемент типа char*
. Таким образом, вам просто нужен элемент в индексе 1. Элемент с индексом 0 является именем процесса.
Если имя файла содержит список URL-адресов, то как я читаю файл строки за строкой. Потому что, если я прочитаю цикл while до тех пор, пока он не встретит возврат каретки, я должен поместить все InternetCrackUrl, InternetConnect, HttpOpenRequest, HttpSendRequest, HttpQueryInfo, все из них внутри цикла while. Есть ли лучший способ сделать это, используя цикл while только до возврата каретки. – Abhineet
Прошу прощения, но этого нужно будет спросить как новый вопрос, и вам нужно будет показать нам какой-то код. Это один вопрос за раз, а комментарии - для незначительных разъяснений. –
Ох ... хорошо ... Я разместил его как новый вопрос с некоторыми кодировками, но я подумайте, что это беспорядочно. г. – Abhineet
Я предлагаю вам не пытаться писать многоязычные исходные файлы. Выберите один из C или C++! – pmg
Прошу прощения. Ууд и моя проблема сейчас? m новичок в этом, поэтому plz не замечает ошибок – Abhineet
Почему бы не использовать fopen и fread вместо этого? – sashoalm