求c语言读取写入文本文件的函数实现

小弟不懂c/c++开发,现在需要实现这么个功能提供给外部程序调用,请大侠帮忙实现,不胜感激myfile.hextern"C"_declspec(dllexport)int... 小弟不懂c/c++开发,现在需要实现这么个功能提供给外部程序调用,请大侠帮忙实现,不胜感激
myfile.h
extern "C" _declspec(dllexport) int FileCreate(char *filePath,char *fileContext);
extern "C" _declspec(dllexport) char* FileRead(char *filePath);

myfile.cpp
//创建文件 成功返回0 失败返回1
//filePath文件路径 比如c:/myfile.txt
//fileContext文件内容 比如 测试写入abc123,也可以没有中文字符
int FileCreate(char *filePath,char *fileContext)
{

}
//读取文件 成功返回文件内容 失败返回空字符串
//filePath文件路径 比如c:/myfile.txt
char* FileRead(char *filePath)
{

}
上面的代码不一定正确,但意思应该表达清楚了,我这边的环境是vs2010建的win32 dll,麻烦贴完整的代码包括要引用哪些头文件,再次感谢
方便的话也可以上 csdn 回答
//bbs.csdn.net/topics/390696105?page=1#post-396617198
展开
 我来答
慎重还可靠灬宝贝f
2015-06-19 · TA获得超过12.9万个赞
知道大有可为答主
回答量:1.9万
采纳率:52%
帮助的人:2633万
展开全部
C语言标准库提供了一系列文件I/O函数用于文件操作,比如fopen()用于打开文件、fread()、fwrite()用于读写文件、fseek()用于设置操作位置等等,一般C语言教程上都有文件I/O一章,细致内容,可以找本教科书学习一下。 下面的示例,是向名为1.txt的文件附加hello world字符串。
#include <stdio.h>
#include <string.h>
int main()
{
FILE *fp = fopen("1.txt", "a+");
if (fp==0)
{
printf("can't open file\n");
return 0;
}
fseek(fp, 0, SEEK_END);
char sz_add[] = "hello world\n";
fwrite(sz_add, strlen(sz_add), 1, fp);
fclose(fp);
return 0;
}



#include<stdio.h>
struct stu
{
char name[10];
int num;
int age;
char addr[15];
}boya[2],boyb[2],*pp,*qq;
main(){
FILE *fp;
char ch;
int i;
pp=boya;
qq=boyb;
if((fp=fopen("stu_list","wb+"))==NULL){
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
printf("\ninput data\n");
for(i=0;i<2;i++,pp++)
scanf("%s%d%d%s",pp->name,&pp->num,&pp->age,pp->addr);
pp=boya;
for(i=0;i<2;i++,pp++)
fprintf(fp,"%s %d %d %s\n",pp->name,pp->num,pp->age,pp->addr);
rewind(fp);
for(i=0;i<2;i++,qq++)
fscanf(fp,"%s %d %d %s\n",qq->name,&qq->num,&qq->age,qq->addr);
printf("\n\nname\tnumber age addr\n");
qq=boyb;
for(i=0;i<2;i++,qq++)
printf("%s\t%5d %7d %s\n",qq->name,qq->num, qq->age,qq->addr);
fclose(fp);
}
庄政警
2014-01-17 · TA获得超过9916个赞
知道大有可为答主
回答量:1113
采纳率:94%
帮助的人:885万
展开全部
#include <stdio.h>
#include <string.h>    //strlen()
#include <malloc.h>  //malloc()
int FileCreate(char *filePath,char *fileContext)
{
 FILE* fp;
 fp=fopen(filePath,"w+");
 if(fp)
 {
  fwrite(fileContext,strlen(fileContext),1,fp);
  fclose(fp);
  return 0;
 }
 return 1;
}
char* FileRead(char *filePath)

 FILE* fp; 
 long int fsize;
 char* fileContext;
 fp=fopen(filePath,"r");
 if(fp)
 {
  fseek(fp,0,SEEK_END);
  fsize=ftell(fp);
  rewind(fp);
  fileContext=(char*)malloc(fsize+1);   //注意释放内存
  fread(fileContext,fsize,1,fp);
  *(fileContext+fsize)='\0';
  fclose(fp);
  return fileContext; 
 }
 return NULL;


int main()      //测试
{
 char* fileContext;
 char* filePath="d:\\111.txt";
 FileCreate(filePath,"abc123");
 fileContext=FileRead(filePath);
 printf("%s",fileContext);
 free(fileContext);  //释放
 return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式