C++codeblocks,DEVc++打不开txt文件或者打出乱码问题解决

最近在学习C++打开文件,并从文件输出数组,遇到很多问题,调试了一晚上仍不满意,直到第二天才解决!

  • codeblocks打开txt文件
#include <iostream>
#include <fstream>
using namespace std;
int main()
{      short wcode[3] = {0};
       int sal[3] = {0};
       ofstream outfile.
       outfile.open("D:/12345.txt",ios::app);//以追加方式打开D盘的12345.txt文件
       if(!outfail())//判断打开文件是否成功
       {   for(int i = 0;i < 3;i++)
           { cin >> wcode[i] >> sal[i];//从键盘写入数组
          outfile << wcode[i] << "#" << sal[i] << endl;//将数组输入到outfile中,两个数组间用“#”隔开
          }
          outfile.close();
       }
       //打开失败则提示
       else{
       cout<< " Wrong in openning the file!" <<endl;
}

从键盘敲入数据

数组之间用#隔开

  • 可能遇到的问题
    在这里插入图片描述
    出现上述提示的原因是想要打开的文件路径中包含不可读字符,这是最好手打文件路径或者做如下操作:
    codebloks -> settings- >Editor ->General settings -> Encoding setting -> As fallback encoding
    在这里插入图片描述
    如上图所示。

遇到其他问题可评论区留言。

DEV- c++常见问题

  • 总的来说,DEV-c++打开文件默认设置非常完善,但不足之处是其敲代码时没有提示,直到调试才知道语法错误。
  • 打开文件的代码与上述Codeblocks相同,可能出现的问题是
ofstream outfile;//这一步报错

解决办法是using namespace std;
这种简单错误往往是不易发现的错误。望各位重视!

下面附上从文件中读取数组元素的操作:

#include <iostream>
#include <fstream>
using namespace std;
int main()
{    short wcode[3] = {0};
     int sal[3] = {0};
     ifstream infile;
     infile.open("D:/12345.txt");
     if(!infile.fail())
     {     for(int i = 0; i < 3;i++)
           {   infile >> wcode[i];
               infile.ignore(1);//读取一个数组元素后跳过“#”,读取下一个数组
               infile >> sal[i];
               cout << wcode[i] << "   " << sal[i] << endl;//查看读取结果
}

运行结果如下:
在这里插入图片描述
您的点赞就是对我最大的鼓励!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值