📌  相关文章
📜  fwrite() 期望参数 2 是字符串,给定数组 - TypeScript (1)

📅  最后修改于: 2023-12-03 14:41:21.043000             🧑  作者: Mango

fwrite() 期望参数 2 是字符串,给定数组 - TypeScript

fwrite() 是一个用于将数据写入文件的函数,通常使用在 C 语言中。在 TypeScript 中,我们可以使用 node.js 的 fs 模块来调用 fwrite(),不过需要注意的是,fwrite() 的第二个参数应该是字符串类型,而不能直接传递数组类型。

import { writeFileSync } from 'fs';

const dataArray = [1, 2, 3, 4];

writeFileSync('data.txt', dataArray); // TypeError: data must be a string or a buffer

上述代码中,我们尝试将一个数组作为 fwrite() 的第二个参数来写入文件,结果 TypeScript 抛出了 TypeError 错误,提示我们数据必须是字符串或者缓冲区类型。

为了让 fwrite() 的第二个参数能够接受数组类型,我们可以将数组先转换成字符串类型,再传递给 fwrite()

import { writeFileSync } from 'fs';

const dataArray = [1, 2, 3, 4];

const dataString = dataArray.join('\n');

writeFileSync('data.txt', dataString); // success

在上述代码中,我们使用 join() 方法将数组转换成以换行符为分隔符的字符串,然后将该字符串作为 fwrite() 的第二个参数来写入文件,这次成功了。

总结一下,在 TypeScript 中使用 fwrite() 函数时,我们需要将数据转换成字符串或者缓冲区类型,否则会抛出类型错误。