我试图将一个非null终止的char数组输出到一个文件.
实际的是,我收到数据包,然后打印他们的字段.
现在,因为这些字段不是空终止的,例如,数据段的大小为512但可能完全占用也可能不完全占用.
当我将这些数据写入文件时,我使用简单的<<重载函数,它不知道有关实际数据的任何事情,只查找数据段的终止.
那么,我怎么能告诉输出函数只写这个特定数量的字节?
而不是使用这样的东西,每次调用都很昂贵:
enter code here
bytescopied = strncpy(dest, src, maxbytes);
if (bytescopied < 0) { // indicates no bytes copied, parameter error
throw(fit); // error handler stuff here
} else if (bytescopied == maxbytes) {
dest[maxbytes-1] = '\0'; // force null terminator
}
Run Code Online (Sandbox Code Playgroud)