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

一、素材(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+ 读写打开一个二进制文件,允许读或在文件末追加数据。

你可能感兴趣的:(cocos2d-x 读取文本文件(txt))