我可以在Android NDK中使用ifstream来访问资产吗?
我的问题很简单,但是我很难在网上找到有关此信息的任何信息. 是否可以使用ifstream使用Android NDK来打开资产和/或资源的文件? 例如,将test.txt文件放入/资产中,尝试以下内容不起作用: char pLine[256]; std::ifstream fin("/assets/test.txt"); if(!fin.fail()) { LOGD( "test.txt opened" ); while( !fin.eof() ) { fin.getline( pLine, 256 ); LOGD(pLine); } } else { LOGD( "test.txt FAILED TO OPEN!" ); } fin.close(); 也没有: 的任何
0 2024-02-17
编程技术问答社区
在C++中获取一个文本文件的第n行
我需要读取文本文件的第n行(例如textfile.findline(0)会找到加载带有ifstream textfile的文本文件的第一行).这可能吗? 我不需要将文件的内容放在数组/向量中,我只需要将文本文件的特定行分配给可变(特别是INT). P.S.我正在寻找最简单的解决方案,该解决方案不需要我使用任何大型外部库(例如,提升) 预先感谢. 解决方案 怎么样? std::string ReadNthLine(const std::string& filename, int N) { std::ifstream in(filename.c_str()); std::string s; //for performance s.reserve(some_reasonable_max_line_length); //skip N lines for(int i = 0; i
2 2024-01-23
编程技术问答社区
不能用相对路径打开文件?(C++ ifstream)
我知道这似乎是一个简单的问题,但是我尝试了所有我能想到的一切,这首先是不应该成为问题的事情. 这是一个小的C ++程序,可以打开文件.当我用它的绝对filepath打开它时,它可以正常工作.但是,使用相对路径,它停止工作. 这是程序的文件路径和我要读的文件: C ++程序: "/Users/Baggio/C++/Lab0/Lab0/Lab0/main.cpp" 文件: /Users/Baggio/C++/Lab0/Lab0/Lab0/result.txt,/Users/Baggio/C++/Lab0/Lab0/Lab0/dict.txt 这是代码段: #include #include #include #include #include using namespace std; int main(int argc, const char * a
0 2023-12-20
编程技术问答社区
std::ifstream在Windows的发布版本中崩溃,退出代码为0xC0000409:未知软件异常
我正在使用std::ifstream读取文件: printf("Before stream initialization\n"); ifstream stream(file_path, ios::binary); printf("Stream initialized\n"); ifstream::pos_type position = stream.tellg(); auto file_size = position; printf("Position acquired\n"); 但是,程序以二进制的发布模式崩溃.这是编译的装配代码段: .text:0000000000413411 lea rcx, aBeforeStreamIn ; "Before stream initialization\n" .text:0000000000413418 mov rbx, rax .text:00000
8 2023-12-07
编程技术问答社区
从文本文件读到结构向量,但文本文件的行长度不同
我正在尝试从学生的文本文件中读取并将每行分配给结构数据成员. 文本文件结构如下: Name,Student code, Ability,Consistency,Program name:Subject list 文件中的两个学生: Average Ant,204932,50,5,Short course:1 Brilliant Bison,234543,80,3,Bachelor of Bounciness:2,5,3 我可以将所有信息阅读到结构上,除了最后一部分(主题列表),这些信息在学生之间的长度不同. 我该如何编写代码,以便如果学生只有1个主题,例如普通蚂蚁,我可以将其推入主题列表矢量,但是如果他们有3个像出色的野牛一样,我仍然可以将它们全部推动吗? 我的代码: struct Student { string name; int code; int ability; int consistency; st
4 2023-12-03
编程技术问答社区
如何用ifstream打开一个文件并一直读到结束
我只想打开一个名为" test.txt"的文件,其中包含: cat dog moose rabbit 然后,我想从文件中阅读并将其内容转换为我以后在程序中要做的事情的字符串.到目前为止,我认为我正在做的事情朝着正确的方向发展.但是,我遇到了一个错误,我不确定该怎么办.这是错误>>> $ make -f makefile.txt g++ -g -D HASH_TABLE_SIZE=10 -c hash.cpp hash.cpp: In member function `void Hash::processFile(std::string)': hash.cpp:12: error: no match for 'operator>>' in 'my_infile >> word' makefile.txt:6: recipe for target `hash.o' failed make: *** [hash.o] Error 1 这是我到目前为止的代码(因此不会因此而编
0 2023-12-03
编程技术问答社区
不能用Visual Studio 2019在C++程序中打开txt文件
我刚开始使用Xcode一段时间后才开始使用Visual Studio 2019. 我总是能够在xcode中打开txt文件,但是现在 我无法在Visual Studio 2019中打开它们. 基本上我要做的是在"调试"选项卡i和获取错误消息"文件没有打开的" debug"选项卡中按"启动"!"从我写的其他陈述中.我不确定它是否与TXT文件的位置或与文件路径有关. 以下是我到目前为止使用的简单程序 要弄清楚如何在Visual Studio 2019中打开TXT文件: #include #include #include using namespace std; int main() { ifstream fobj; fobj.open("input.txt"); if (fobj) { cout
8 2023-11-24
编程技术问答社区
在进行文件管理操作时,Visual Studio会在哪里搜索txt文件?
我知道这是一个菜鸟问题,但是我已经和何时访问了.txt文件之前与Python合作,您所要做的就是确保TXT文件位于同一目录中.我在下面有以下C ++代码,但找不到我保存在桌面上的nubmet.txt文件.我在文件中只有一行类型double.我要做的就是找到文件中所有数字的平均值.该程序运行良好,但无法正确打印输出.检查以查看仅通过打印输出[0]将什么打印到输出中的内容后,我发现该文件没有将其内容复制到数组中.有人可以为我清除这个小问题,或者至少将我指向正确的教程的正确方向吗? int main() { cout
2 2023-11-20
编程技术问答社区
Debug Assertion Failed 矢量下标超出范围 C++
我正在使用VS2015 C ++.我尝试使用while循环读取文件,然后按线将其输入向量. 我得到此错误: 调试断言失败了! 程序:C:\ Windows \ System32 \ msvcp140d.dll 文件:C:\ Program Files(X86)\ Microsoft Visual Studio 14.0 \ VC \ Inclupper \ vector 线:1234 表达式:向量下标超出范围 有关您的程序如何导致断言失败的信息,请参见"断言"的Visual C ++文档. 我的代码如下: int main() { std::ifstream inf("walmart2.txt"); std::vector blah; int j = 0; if (!inf) { std::cerr
6 2023-11-17
编程技术问答社区
没有重载函数的实例
试图为课程进行项目,但请继续获取错误:没有超载功能的实例与与行矢量的实现有关的参数列表匹配.特别突出的区域是. push_back和insert之前的操作员. void holdLines(ifstream in, vector rows) { string line; string prevLine; vector rows; int lineNumber = 0; int vectorNumber = 0; while(true) { getline(in, line); if(in.fail()) { break; } lineNumber++; vectorNumber = lineNumber - 1; rows.push_back(lineNumber); rows.insert(prevLine, line); } } 解决方案 当需
18 2023-11-17
编程技术问答社区
C++ 在关键字段上加入两个分管的文件
我当前正在尝试创建一个C ++功能,以将两个关键字段上的10.000.000记录连接到两个管道分开的文件. . fiels看起来像 P2347|John Doe|C1234 P7634|Peter Parker|D2344 P522|Toni Stark|T288 和 P2347|Bruce Wayne|C1234 P1111|Captain America|D534 P522|Terminator|T288 要在字段1和3上加入,预期输出应显示: P2347|C1234|John Doe|Bruce Wayne P522|T288|Toni Stark|Terminator 我当前想的是使用集合/数组/矢量来读取文件并创建类似: 的内容. P2347|C1234>>John Doe P522|T288>>Toni Stark 和
0 2023-11-17
编程技术问答社区
如何使用迭代器从一个文件中读取n个字节并将其放入一个向量<uint8_t>?
基于这个问题: 如何将二进制文件读取到无符号chars的向量 在答案中,他们有: std::vector readFile(const char* filename) { // open the file: std::basic_ifstream file(filename, std::ios::binary); // read the data: return std::vector((std::istreambuf_iterator(file)), std::istreambuf_iterator()); } 将整个文件读为向量. 我想做的是(例如)在矢量中一次读取100个字节,然后进行操作,然后将下一个100个字节读取到矢量中(清除矢量之间的矢量).我看不到如何指定要读取多少文件(即如何设置迭代器).那
0 2023-11-17
编程技术问答社区
从文件中保存和读取双向量 C++
我正在尝试将std::vector保存到文件中,并阅读以重建std::vector.此代码来自REX(原始答案)适用于std::vector>,但对于双打而不适用.一旦我试图将其修改以与双打一起使用,数字会失去小数点.这是我的尝试(修改代码) #include #include #include #include #include std::string filename("savefile"); std::vector myVector{1321.32132,16.32131,32.321,64,3213.454}; void write_vector_to_file(const std::vector& myVector, std::string filename); std::vector
0 2023-11-17
编程技术问答社区
如何从文本文件中读取数据并推回给一个矢量?
我有一个文本文件," test.txt",它将我的数据存储如下,每个定界线字段之间都有一个间距. 代码:名称:coy 045: Ted: Coy1 054: Red: Coy2 如何从文件中读取此数据并将其插入向量? vector data; Machine machine void testclass(){ ifstream inFile("test.txt"); if (!inFile){ cout
2 2023-11-17
编程技术问答社区
如何将整个流读入std::vector?
我阅读在这里答案显示如何将整个流读入std :: string具有以下一个(两个)衬里: std::istreambuf_iterator eos; std::string s(std::istreambuf_iterator(stream), eos); 为了做类似的事情,类似于将二进制流读为std::vector,为什么我不能简单地用char uint8_t和std::string std::string std::vector? 替换 auto stream = std::ifstream(path, std::ios::in | std::ios::binary); auto eos = std::istreambuf_iterator(); auto buffer = std::vector(std::istreambuf_iterator(stream), eos);
6 2023-11-17
编程技术问答社区
如何通过读取文件来填充向量?
我正在尝试读取包含邻接列表的文件 1 37 79 164 15 2 123 134 10 141 13 每行的第一个数字是顶点,以下数字是其相邻的顶点. 这是我从文件中读取的代码.我已经能够在字符串中放一条线,但不知道如何继续填充向量. ifstream ifs; string line; ifs.open("kargerMinCut.txt"); std::vector > CadjList(vertices); while(getline(ifs,line)){ } 有什么建议? 解决方案 您可以在sstream标头中使用stringstream ifstream ifs; string line; ifs.open("kargerMinCut.txt"); std::vector > CadjList(vertices); while(getline(ifs,line)){
8 2023-11-17
编程技术问答社区
C ++如何工作并验证UTF8字符
我正在研究一个我必须使用特殊角色的项目. 我以相同的方式在Windows 10上工作,我还需要解决Linux的解决方案,我需要的是读取使用UTF8编码的文本文件,进行某些验证并在屏幕上显示文件的文本. 我正在使用Dev C ++ 5.11 我目前没有重大问题阅读特殊字符并将其显示在控制台上,我的问题在于尝试单独获取特殊字符以执行验证. 目前我要阅读的.txt包含以下信息: Inicio D1 Biatlón S1 255 E1 Esprint 7,5 km (M); 100; 200 E2 Persecucion 10 km (M); 100; 200 ff 我遇到麻烦的角色是:'ó' 我正在使用以下代码: #include #include #include #include #include #define CP_UTF8 65001
2 2023-11-12
编程技术问答社区
C++ UTF-16到char的转换 (Linux/Ubuntu)
我试图帮助一个应该是1小时的项目,现在已经3天了.不用说我感到非常沮丧和生气;-) ooooouuuu ...我呼吸. 因此,用C ++编写的程序只需阅读一堆文件并处理它们即可.问题在于我的程序读取使用UTF-16编码的文件(因为文件包含以不同语言编写的单词),而对于Ifstream的简单用途似乎不起作用(它读取并输出垃圾).我花了一段时间才意识到这是因为文件在UTF-16中. 现在,我整个下午都在网络上度过了整个下午,试图查找有关读取UTF16文件并将UTF16行的内容转换为char的信息!我似乎不能!这是一场噩梦.我尝试学习以前从未使用过的和,WSTRING等(我专门从事图形应用程序,而不是桌面应用程序).我只是无法得到. 这是我这样做的票价(但不起作用): std::wifstream file2(fileFullPath); std::locale loc (std::locale(), new std::codecvt_
2 2023-11-12
编程技术问答社区
如何使用std :: ifstream读取UTF-8编码的文本文件?
我很难解析XML文件. 用UTF-8编码保存文件. 正常的ASCII正确读取,但韩语字符不是. 所以我制作了一个简单的程序来读取UTF-8文本文件并打印内容. 文本文件(test.txt) ABC가나다 测试程序 #include #include #include #include #include const char* hex(char c) { const char REF[] = "0123456789ABCDEF"; static char output[3] = "XX"; output[0] = REF[0x0f & c>>4]; output[1] = REF[0x0f & c]; return output; } int main() { std::cout
6 2023-11-11
编程技术问答社区
如何读取带有unicode文件名的二进制文件c++?
在我正在从事的项目中,我处理了很多串操作;字符串从二进制文件及其编码(可以是单字节或双字节)中读取.本质上,我将字符串值读为vector,读取编码,然后将所有字符串转换为wstring,以保持一致性. . 这效果很好,但是文件名本身可以是双字节字符.我对如何实际打开输入流感到非常困惑.在C中,我将使用_wfopen函数传递wchar_t* path,但是wifstream似乎行为不同,因为它是专门设计用于从文件中读取双字节字符的专门设计的,而不是用于读取具有双字节文件名的文件中的单个字节. 解决这个问题的方法是什么? 编辑:搜索网络,看来在标准C ++中完全没有支持(例如,请参见此讨论).但是我想知道C ++ 11是否真的在此区域添加了一些有用的东西. 解决方案 您打开的字符串是如何映射到文件名的 实施依赖.在Unix环境中,它通过 从字面上看,只有'/'和'\0'得到处理 特别.在其他环境中,其他规则规则,我 过去有问题,因为我用Unix编写了一个文
6 2023-11-06
编程技术问答社区