24小时热门版块排行榜    

CyRhmU.jpeg
查看: 823  |  回复: 3

songjunann

铜虫 (小有名气)

[求助] 如何创建文件,并往该文件写入数据(仅需最简的几个语句即可),谢谢

仅选取子程序部分,原程序编译没问题,但在Win7下VC运行的结果是从显示窗口出现的,因我现在想用fopen创建一个文件,然后再用printf语句写入. 这样生成的数据就可以保存下来了.请教一下我这要补充怎样的语句呢?非常感谢!

void output (uint istart, uint iend) {
  uint i;
  for (i=istart; i<iend; i++) {
    if (filter && i%filter)
      continue; /* skip all but every filter for output to save disk space */
    printf ("%.15le %.15le %.15le\n", i*h, phi, m);
  }
}


P.S. 我看了一些资料,需要用到指针(!),大致如下:

main程序开始部分 先声明

FILE * OP
FILE *fopen(char *output, char *"w" )

然后在程序中,调用

OP = fopen(output, "w" )
那printf语句该怎么改? 不用指针声明可以吗? 请指教,谢谢

[ Last edited by songjunann on 2013-8-15 at 18:04 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

h2plus0

银虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
貌似C里面一般都是用FILE* 这种指针, C++用fstream(可能更麻烦)
不用担心,如果有些指针指向的资源没有释放,操作系统会自动释放滴。

例如, 写一个str 到 c:\test.txt

#include <stdio.h>
int main ()
{
  FILE * pFile;
  char* str = "just a test \n";
  int len = strlen(str);
  pFile = fopen ("c:\\test.txt", "a";   // 打开文件为 “增添” 模式 , 其它有些模式会把现存的文件内容清除
  if (pFile==NULL)  {
          printf("open file failed.";
          return 1;
  }
  fwrite (str , 1, len, pFile);  // fwrite 会把 str指向的内存,大小为 1* len个字节的数据写到文件中
  fclose (pFile);
  return 0;
}

具体的也可参照:
http://www.cplusplus.com/reference/cstdio/fwrite/
拿破轮曾经说过:随意的让一个金币从眼前溜走就是对GM的犯罪!
2楼2013-08-15 18:30:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

h2plus0

银虫 (初入文坛)

完整的程序

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : File1.zip
  • 2013-08-15 18:44:45, 392 bytes
拿破轮曾经说过:随意的让一个金币从眼前溜走就是对GM的犯罪!
3楼2013-08-15 18:44:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

用户注销 (著名写手)

感谢参与,应助指数 +1
本帖仅楼主可见
4楼2013-08-16 21:55:50
已阅   申请程序强帖   回复此楼   编辑   查看我的主页
相关版块跳转 我要订阅楼主 songjunann 的主题更新
信息提示
请填处理意见