Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 获取文件中的值并使用CreateFile将值放入变量中_C++_Windows_Api - Fatal编程技术网

C++ 获取文件中的值并使用CreateFile将值放入变量中

C++ 获取文件中的值并使用CreateFile将值放入变量中,c++,windows,api,C++,Windows,Api,我正在尝试编写一个代码,该代码将读取多个URL,并使用windows APIReadFile将URL的每个值放入一个变量中 比如说 变量 stringurlone stringurltwo url.txt的内部 www.stackoverflow.com www.reddit.com 我关心的是,是否可以使用ReadFile或任何windows API函数获取值并将其放入变量中 从上面的示例中,将发生的是stackoverflow.com将成为变量urlone的值,与下一个URL相同,即redd

我正在尝试编写一个代码,该代码将读取多个URL,并使用windows API
ReadFile
将URL的每个值放入一个变量中

比如说

变量

stringurlone

stringurltwo

url.txt的内部

www.stackoverflow.com

www.reddit.com

我关心的是,是否可以使用
ReadFile
或任何windows API函数获取值并将其放入变量中

从上面的示例中,将发生的是
stackoverflow.com
将成为变量
urlone
的值,与下一个URL相同,即
reddit.com
将成为变量
urltwo
的值

我知道使用
fstream
将帮助我解决这个问题,但我只想知道是否还有其他类似使用windowsapi的方法

注意:我尝试使用
ReadFile
,它获取所有URL并将值放入1个变量中

//reading url.txt
openFile = CreateFile(L"C:\\Documents and Settings\\Administrator\\My Documents\\url.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

//reading the content, on this code, all the URLs will be inside of strVal
rewriFile = ReadFile(openFile, strVal, fSize, &dwNoBytetoRead, NULL);
cout << "The URL is " << strVal << endl;
//读取url.txt
openFile=CreateFile(L“C:\\Documents and Settings\\Administrator\\My Documents\\url.txt”,通用读取,文件共享读取,NULL,打开现有,文件属性正常,NULL);
//阅读内容时,在这段代码中,所有的URL都将位于strVal内部
rewriFile=ReadFile(openFile、strVal、fSize和dwNoBytetoRead,NULL);

cout是的,如果需要,可以使用
ReadFile
解决。使用
ReadFile
simpel方法可以是:

  • 使用
    ReadFile
    将整个文件读入缓冲区(我建议使用
    std::string
    调整大小

  • 使用任何东西来解析字符串,对于simpel解析,
    std::istringstream
    可以使用


  • 巧合的是,如果
    std::istringstream
    足以解析您的格式(我99%确定它是),那么可能是
    std
    流类真正闪耀的情况,因为您可以使用
    std::ifstream
    来完成这两项工作

    你仍然有你以前的错误。重复,ReadFile()是低级的,只读取字节。不是字符串。“strVal”变量将不会有正确的以零结尾的字符串。dwNoBytetoRead告诉您将0放置在何处。将字节拆分为文本行是它不会做的事情。标准C++库为您这样做,STD::GETLIN()是您的朋友。