如何往字符串中放入字符?

ChinaPlayer 2003-11-18 11:46:15
高手:
---------------------------------------------------------

FILE * file;
char * buffer;
int ch;
if((file=fopen("abc.txt","r"))==NULL){
fprintf(stderr,"File Open Error.\n");
exit(8);
}
while((ch=fgetc(file))!=EOF){
//将该字符放入buffer中。
}
fclose(file);
puts(buffer);
exit(0);
----------------------------------------------------------

请问,该如何将字符放入buffer字符串中?

谢谢!
...全文
61 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bohut 2003-11-18
  • 打赏
  • 举报
回复
FILE * file;
char * buffer;
int nFileSize = 0;
if((file=fopen("abc.txt","r"))==NULL){
fprintf(stderr,"File Open Error.\n");
exit(8);
}
while( !feof(file) )
{
fgetc(file);
nFileSize++;
}
rewind( fp );
nFileSize -= 1;//得到文件的大小;
buffer = new char[nFileSize + 1];
fread(buffer,1,nFileSize,file);
fclose(file);
puts(buffer);

exit(0);
sgaosslotus 2003-11-18
  • 打赏
  • 举报
回复
因为当判断文件结束的时候,nFileSize已经把文件结束标志也算进去了,所以要减一。
ChinaPlayer 2003-11-18
  • 打赏
  • 举报
回复
bohut(伯虎) :
为什么要 nFileSize -= 1;//得到文件的大小;啊?
为什么要 减一?
zhouqingyuan 2003-11-18
  • 打赏
  • 举报
回复
FILE * file;
char buffer[MAXSIZE];
int ch;
if((file=fopen("abc.txt","r"))==NULL){
fprintf(stderr,"File Open Error.\n");
exit(8);
}
while((ch=fgetc(file))!=EOF){
*(buffer++)=ch;//将该字符放入buffer中。
}
fclose(file);
puts(buffer);
exit(0);

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧