鱼C论坛

 找回密码
 立即注册
查看: 2328|回复: 4

C++建立文件问题

[复制链接]
发表于 2014-5-20 21:44:25 | 显示全部楼层 |阅读模式
5鱼币
void User::SaveAccount(string a,string b)
{
        ofstream fout;
        cout<<endl;
        fout.open("E:\\a.txt",ios::app);
        if(fout.fail())
        {
                cout << "输出文件打开失败";
        }
        fout<<"账号:"<<a<<endl;
        fout<<"密码: "<<b<<endl;
        fout.close();
}
我想把建立的文件名称改成字符串a里的字符作为的名字 怎么改?


最佳答案

查看完整内容

现在你的程序中文件的名称是字符串a,而你要把文件的名称改成字符串中的某个字符,我想可以用截取字符串中的字符来实现!下面是截取字符串中的字符的代码,你只要把它添加到程序里面就可以了:这是通过把字符串里的一个字分成两个字节分别赋值给有三个元素的一维数组,第三个加个\0,共同组成了一个小的字符串。最后输出 char * getWchar(char *str, char *substr, int index) 里的index代表第几个汉字,从0开始。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-20 21:44:26 | 显示全部楼层
现在你的程序中文件的名称是字符串a,而你要把文件的名称改成字符串中的某个字符,我想可以用截取字符串中的字符来实现!下面是截取字符串中的字符的代码,你只要把它添加到程序里面就可以了:
#include "stdafx.h"

char * getWchar(char *str, char *substr, int index)
{
  substr[0] = str[2*index];
  substr[1] = str[2*index+1];
  substr[2] = '\0';
  return substr;
}
void main()
{
 char * str="标准C中,怎么从字符串中获取一个字符";
 char p[3];
 printf("%s",getWchar(str,p,1));
}
这是通过把字符串里的一个字分成两个字节分别赋值给有三个元素的一维数组,第三个加个\0,共同组成了一个小的字符串。最后输出
char * getWchar(char *str, char *substr, int index)
里的index代表第几个汉字,从0开始。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-5-22 20:54:50 | 显示全部楼层

不是某个字符  是全部字符串  因为open("")这个函数有双引号  不知道怎么改成字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-5-22 21:31:49 | 显示全部楼层
青玄 发表于 2014-5-21 17:05
现在你的程序中文件的名称是字符串a,而你要把文件的名称改成字符串中的某个字符,我想可以用截取字符串中的 ...

ofstream *fouts;
fouts->open(FileName.c_str());
FileName是字符串 可以这样么?

点评

嗯...,你试一下!理论上来说,应该是可以的!  详情 回复 发表于 2014-5-23 12:07
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-23 12:07:51 | 显示全部楼层
a372187663 发表于 2014-5-22 21:31
ofstream *fouts;
fouts->open(FileName.c_str());
FileName是字符串 可以这样么?

嗯...,你试一下!理论上来说,应该是可以的!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-27 03:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表