第1个回答 推荐于2017-09-14
/*
下面这个简单的例子是文件输入输出流的。
当然你可以只用输入流,也可以只用输出流。
*/
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[])
{
// 文件输入流,假设 data.txt 已经存在
ifstream fin( "data.txt" );
// 文件输出流
ofstream fout( "results.txt", ios::app );
int temp;
// 这个例子的功能是:将 data.txt 中的每个整数加 2 后存入 result.txt 中
while( fin >> temp )
{
fout << temp + 2 << endl;
}
//关闭输入输出流
fin.close();
fout.close();
return 0;
}本回答被提问者采纳
第2个回答 推荐于2017-10-15
给一个fgetc/fputc的例子,把fputc与fgetc语句后面的注释同时打开,同时注释掉fputc/fgetc语句,可以作为fread/fwrite的例子.
C/C++
#include<stdio.h>
#include<stdlib.h>
typedef struct node {
unsigned char elem;
struct node *next;
} Node, *List;
int main()
{
char file_name[255] = "d:\\梁静茹-今天情人节.mp3"; //d盘符下要有这个文件.
List head = (List)malloc(sizeof(Node));
List p, q;
int c;
FILE *fp;
if(head == NULL) {
fprintf(stderr, "malloc error!\n");
exit(1);
}
head->next = NULL;
q = head;
if((fp=fopen(file_name, "rb")) == NULL) {
fprintf(stderr, "打开文件失败!\n");
exit(1);
}
while((c=fgetc(fp)) != EOF) {
//while(fread(&c,sizeof(unsigned char), 1, fp)) {
p = (List)malloc(sizeof(Node));
if(p == NULL) {
fprintf(stderr, "malloc error!\n");
p = head;
while(p != NULL) {
q = p->next;
free(p);
p = q;
}
exit(1);
}
p->elem = c;
p->next = NULL;
q->next = p;
q = p;
}
fclose(fp);
if((fp=fopen("d:\\今天情人节副本.mp3", "wb")) == NULL) {
fprintf(stderr, "打开文件失败!\n");
exit(1);
}
p = head->next;
while(p != NULL) {
q = p->next;
fputc(p->elem, fp);
//fwrite(&p->elem, sizeof(unsigned char), 1, fp);
free(p);
p = q;
}
printf("复制完成..\n");
fclose(fp);
return 0;
}
第3个回答 2011-08-23
FILE *fp=open(filename,mode);mode可以选择新建,打开文件。filename可以指定文件路径。
fwrite(fp,butter,length);就可以啦。
fwrite函数的参数记不清了,看MSDN吧。
第4个回答 2011-08-23
CString log;
log.Format("%s,%d", __FUNCTION__, __LINE__);
m_MyFileLog.Write(log);
return false;
第5个回答 推荐于2017-09-14
/*
下面这个简单的例子是文件输入输出流的。
当然你可以只用输入流,也可以只用输出流。
*/
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[])
{
// 文件输入流,假设 data.txt 已经存在
ifstream fin( "data.txt" );
// 文件输出流
ofstream fout( "results.txt", ios::app );
int temp;
// 这个例子的功能是:将 data.txt 中的每个整数加 2 后存入 result.txt 中
while( fin >> temp )
{
fout << temp + 2 << endl;
}
//关闭输入输出流
fin.close();
fout.close();
return 0;
}本回答被提问者采纳
第6个回答 推荐于2017-10-15
给一个fgetc/fputc的例子,把fputc与fgetc语句后面的注释同时打开,同时注释掉fputc/fgetc语句,可以作为fread/fwrite的例子.
C/C++
#include<stdio.h>
#include<stdlib.h>
typedef struct node {
unsigned char elem;
struct node *next;
} Node, *List;
int main()
{
char file_name[255] = "d:\\梁静茹-今天情人节.mp3"; //d盘符下要有这个文件.
List head = (List)malloc(sizeof(Node));
List p, q;
int c;
FILE *fp;
if(head == NULL) {
fprintf(stderr, "malloc error!\n");
exit(1);
}
head->next = NULL;
q = head;
if((fp=fopen(file_name, "rb")) == NULL) {
fprintf(stderr, "打开文件失败!\n");
exit(1);
}
while((c=fgetc(fp)) != EOF) {
//while(fread(&c,sizeof(unsigned char), 1, fp)) {
p = (List)malloc(sizeof(Node));
if(p == NULL) {
fprintf(stderr, "malloc error!\n");
p = head;
while(p != NULL) {
q = p->next;
free(p);
p = q;
}
exit(1);
}
p->elem = c;
p->next = NULL;
q->next = p;
q = p;
}
fclose(fp);
if((fp=fopen("d:\\今天情人节副本.mp3", "wb")) == NULL) {
fprintf(stderr, "打开文件失败!\n");
exit(1);
}
p = head->next;
while(p != NULL) {
q = p->next;
fputc(p->elem, fp);
//fwrite(&p->elem, sizeof(unsigned char), 1, fp);
free(p);
p = q;
}
printf("复制完成..\n");
fclose(fp);
return 0;
}
第7个回答 2011-08-23
FILE *fp=open(filename,mode);mode可以选择新建,打开文件。filename可以指定文件路径。
fwrite(fp,butter,length);就可以啦。
fwrite函数的参数记不清了,看MSDN吧。
第8个回答 2011-08-23
CString log;
log.Format("%s,%d", __FUNCTION__, __LINE__);
m_MyFileLog.Write(log);
return false;