我正在尝试为文件写标题,但是将由另一个正在寻找80字节的程序读取。如何写一个大小为80字节的字符串,其中可能包含少量字符(例如“ box”)?
我尝试过的
const char* title;
GetAttribute(model,"title of attar",&title); //args 2 & 3 must be char *, char **
char newtitle[80];
strcopy(newtitle,title);
fwrite(newtitle,sizeof(char),80,fp);
我也尝试只写标题...
fwrite(newtitle,sizeof(char),strlen(title),fp);
并在剩余字节之后用空格填充,但是这些空格会在以后的程序中引起问题
谢谢你的建议
最佳答案
您可能想用0个字节填充它。在将字符串复制到新标题缓冲区之前,将其填充为零,然后将该缓冲区写入文件:
char newtitle[80];
memset(newtitle, '\0', 80);
strncpy(newtitle, title, 80);
fwrite(newtitle, sizeof(char), 80, fp);
您可以将想要的任何ASCII字符传递到memset()中,以进行填充。但是对于二进制文件,通常会使用
'\0'
。