writeFile

int SegBaseSetMain::WriteTile( string filename ,    //(I )ファイル名
                               const vector<string> &values //(I )デフォルト値
                             )
{
    char line[256];
    FILE    *fp = NULL;
    string strTemp;

    if ( (fp=fopen(filename.c_str(),"w+t")) == NULL )
    {
               return 1;
    }

    for ( int index = 0; index < values.size(); ++index )
    {
        strTemp = values[index];
        sprintf( line, "%s/n", strTemp.c_str() ) ;
        fwrite( line, sizeof( char ), strlen( line ), fp );
    }

    fclose( fp );

    return 0;
}

### WriteFile 方法使用说明 `WriteFile` 是 Node.js 中 `fs` 模块的一个异步方法,用于将数据写入指定的文件。如果目标文件不存在,则会自动创建;如果文件已存在,则默认情况下会覆盖原有内容。 以下是关于 `WriteFile` 的具体说明以及示例代码: #### 参数列表 - **file**: 文件路径或文件描述符(字符串 | Buffer | URL | number),表示要写入的目标文件。 - **data**: 要写入的内容(string 或 buffer)。如果是 string 类型,默认编码为 UTF-8[^5]。 - **options**: 可选参数对象,支持以下属性: - **encoding**: 默认值为 `'utf8'`,可以设置其他字符集如 `'ascii'` 或 `'base64'`。 - **mode**: 设置文件权限,默认值为 `0o666`。 - **flag**: 打开文件时使用的标志位,默认为 `'w'` 表示覆写模式。可改为 `'a'` 追加模式或其他选项[^2]。 - **callback**: 完成操作后的回调函数,接收两个参数 `(err)` 和无返回值的结果。 #### 返回值 此方法本身不返回任何值,而是通过回调函数通知完成状态。 --- ### 示例代码 以下展示了如何利用 `WriteFile` 方法向 CSV 文件中写入数据: ```javascript const fs = require('fs'); // 数据数组 const data = [ ['Name', 'Age', 'City'], ['John Doe', 28, 'New York'], ['Jane Smith', 32, 'Los Angeles'] ]; // 将二维数组转换为 CSV 格式的字符串 function arrayToCsv(data) { return data.map(row => row.join(',')).join('\n'); } // 写入 CSV 文件 fs.writeFile('people.csv', arrayToCsv(data), { encoding: 'utf8', flag: 'w' }, (err) => { if (err) { console.error('Error writing file:', err); } else { console.log('CSV file has been successfully written.'); } }); ``` 上述代码实现了如下功能: 1. 构造了一个二维数组作为待写入的数据源。 2. 利用自定义函数 `arrayToCsv()` 将其转化为标准的 CSV 字符串形式。 3. 使用 `fs.writeFile` 方法将生成的 CSV 文本保存至名为 `people.csv` 的文件中,并指定了编码方式和写入模式。 注意,在实际应用过程中可以根据需求调整 flags 值以改变行为逻辑,比如采用追加模式而非完全替换旧有记录。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值