cocos2d-x 读取文本文件(txt)

论坛 期权论坛 脚本     
匿名技术用户   2021-1-13 06:23   20   0

一、素材(untitled.txt)

helloWorld


二、实现代码

在HelloWorldScene类,init()添加如下代码:

    std::string fullPath = CCFileUtils::sharedFileUtils()->fullPathFromRelativePath("untitled.txt");
    
    unsigned char* pBuffer = NULL;
    
    unsigned long bufferSize = 0;
    
    pBuffer = CCFileUtils::sharedFileUtils()->getFileData(fullPath.c_str(), "r", &bufferSize);
    
    CCLog("%ld",bufferSize);

    CCLog("%s",pBuffer);
//    for (int i = 0; i < bufferSize; ++i)
//        
//    {
//        
//        CCLog("%c",pBuffer[i]);
//        
//    }
    
    
    if (pBuffer)
        
    {
        
        delete [] pBuffer;
        
        pBuffer = NULL;
        
    }

输出结果如下:

Cocos2d: 10

Cocos2d: helloWorld


分析部分代码:

static unsigned char* getFileData  ( const char *  pszFileName,  
  const char *  pszMode,  
  unsigned long *  pSize  
 ) 


参数pszMode :
r 以只读方式打开文件,该文件必须存在。   
r+ 以可读写方式打开文件,该文件必须存在。   
rb+ 读写打开一个二进制文件,允许读数据。   
rt+ 读写打开一个文本文件,允许读和写。   
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。   
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。   
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)   
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)   
wb 只写打开或新建一个二进制文件;只允许写数据。   
wb+ 读写打开或建立一个二进制文件,允许读和写。   
wt+ 读写打开或着建立一个文本文件;允许读写。   
at+ 读写打开一个文本文件,允许读或在文本末追加数据。   
ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP