| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 572 人关注过本帖
标题:关于文件读写的的问题
只看楼主 加入收藏
icebo
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2006-6-3
收藏
 问题点数:0 回复次数:5 
关于文件读写的的问题

我现在想把VC的输出结果保存为文本文件,但对函数不熟悉,望高手指教:(文本文件以ANSI方式存储,不能是乱码)
#include"iostream.h"
#include<stdio.h>
void main()
{
int i=30001;
for(;i<30008;i++)
cout<<i<<endl;
FILE * fp;
fp=fopen("noexist.txt","a+");
fwrite( &i, 5, 25,fp );//这一句是实现所述功能的关键函数但该函数有问题需完善
if(fp==NULL) return;
fclose(fp);
}


希望“i”以可以正常打印的方式存储在noexist.txt中。为了方便看到结果,希望格式是这样的:(输入一个就换行)
30001
30002
30003
30004
30005
30006
30007

[此贴子已经被作者于2006-6-6 23:30:37编辑过]

搜索更多相关主题的帖子: 文件 
2006-06-06 23:28
zinking
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:916
专家分:0
注 册:2004-12-5
收藏
得分:0 

试 试看c++的文件流 吧 用者顺手一点


http://kongfuziandlife. http://codeanddesign.
2006-06-07 09:59
Bekky
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:354
专家分:0
注 册:2006-5-29
收藏
得分:0 
fwrite( &i, 5, 25,fp );//这一句是实现所述功能的关键函数但该函数有问题需完善

在上面一句完了后,加一句换行回车,就可以了;
fwrite("\r\n",5,25,fp);

你做好在打开文件后作一下判断,看是否打开成功.
if(fp == NULL)
return;

我的编译环境为WinXp + VC 6.0 http://blog..cn/yobo
2006-06-07 10:03
icebo
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2006-6-3
收藏
得分:0 

最后我把数字转换成字符实现了,如果大家有更好的方法,希望能赐教
#include<stdio.h>
#include<string.h>
#include<iostream.h>
#include<stdlib.h>
void turn(int n, char *a)
{int b;char mid;int i=0;char *str=a;
while(n!=0)
{b=n%10;
str[i++]=(char)(b+48);
n=n/10;
}
str[i]='\0';
int top,tail;
top=0;tail=i-1;
str=a;

while( (top) < (tail) )
{
mid=str[top];str[top]=str[tail];str[tail]=mid;
top++;tail--;
}

}
void main()
{FILE * fp;
fp=fopen("noexist.txt","a+");
if(fp==NULL) return;
int i=35000;
char a[20];
for(;i<39000;i++)
{cout<<i<<"@qq.com"<<endl;
turn(i,a);

fwrite(a, strlen(a), 1,fp );
fputc('\n',fp);
}
fclose(fp);
}


电影538:我的早晨从5点38开始  收集2万电影
http://www./
2006-06-07 12:47
aogun
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:638
专家分:0
注 册:2006-4-5
收藏
得分:0 

用c++的流:
[CODE]#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, _TCHAR* argv[])
{
int i=35000;
ofstream ofile( "noexist.txt", ios::out );

for(;i<39000;i++)
{
cout<<i<<"@qq.com"<<endl;
ofile<<i<<endl;
}
ofile.close();

return 0;
}[/CODE]

用c中的FILE:
[CODE]#include<stdio.h>
#include<string.h>
#include<iostream.h>
#include<stdlib.h>

int main(int argc, _TCHAR* argv[])
{
FILE * fp;
int i=35000;
char a[20];
fp=fopen("noexist.txt", "a+");
if(fp==NULL) return -1;
for(;i<39000;i++)
{
cout<<i<<"@qq.com"<<endl;
itoa(i,a, 10);

fwrite(a, strlen(a), 1,fp );
fputc('\n',fp);
}
fclose(fp);

return 0;
}[/CODE]


[此贴子已经被作者于2006-6-7 13:52:54编辑过]


世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。
2006-06-07 13:51
icebo
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2006-6-3
收藏
得分:0 
果然精短

电影538:我的早晨从5点38开始  收集2万电影
http://www./
2006-06-07 20:38
快速回复:关于文件读写的的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018418 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved