注册 登录
编程论坛 C++教室

帮我看个小程序怎么错了,刚开始学C++,别嘲笑我哦,呵呵

tianxiao110 发布于 2010-08-03 21:04, 876 次点击
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    //向文件 f2  输入字符数据
    char a[12];
    ofstream  outfile("G:\\f2.dat",ios::out);
    for(int i=0;i<12;i++)
    {
        cin>>a[i];
        outfile<<a[i];
    }
    //从文件  f2  输出数据   输出看看
    char b[12];
    ifstream  infile("G:\\f2.dat",ios::in);
    for(int j=0;j<12;j++)
    {
            infile>>b[j];
           
            cout<<b[j];
    }        
   
    system("pause");
   
   
   
   
     
    return(0);
}   
   
6 回复
#2
tianxiao1102010-08-03 21:10
忘了解除关联了,吼吼,嘻嘻。
#3
tianxiao1102010-08-03 21:42
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    //向文件 f2  输入字符数据
    char a[12];
    ofstream  outfile("G:\\f2.dat",ios::out);
    for(int i=0;i<12;i++)
    {
        cin>>a[i];
        outfile<<a[i];
    }
    outfile.close();
    //从文件  f2  输出数据   并处理后输出看看
    char b[12];
    ifstream  infile("G:\\f2.dat",ios::in);
    for(int j=0;j<12;j++)
    {
            infile>>b[j];
            b[j]=b[j]-32;
            cout<<b[j];
    }
    infile.close();
    cout<<endl;
    //把处理后的数据 存到   文件f3   中  
   
    for(int k=0;k<12;k++)
    {
        ofstream outfile("G:\\f3.dat",ios::out);
        
        outfile<<b[k];
      
    }
    outfile.close();               
   
    system("pause");
   
   
   
   
     
    return(0);
}  

哥哥姐姐们,我进行到这里又不行了,我用DOS 看了下f3 文件,结果不对。 (f3里只有字符串的最后一个字母,我感觉应该是完整的字符串啊)
我的程序的思想很简单:就是向文件f2中输入一个小写的字符串,然后拿出来变成大写的,在放到f3文件里。
   
#4
flyingcloude2010-08-04 08:41
我可以在Dev c下运行结果正确的。
#5
ragnaros2010-08-04 20:46
程序代码:
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
   
    //向文件 f2  输入字符数据
    char a[12];
    ofstream outfile;
    outfile.open("G:\\f2.dat",ios::out);
    for(int i=0;i<12;i++)
    {
        cin>>a[i];
        outfile<<a[i];
    }
    outfile.close();
   

    //从文件  f2  输出数据   并处理后输出看看
    char b[12];
    ifstream  infile("G:\\f2.dat",ios::in);
    for(int j=0;j<12;j++)
    {
            infile>>b[j];
            b[j]=b[j]-32;
            cout<<b[j];
    }
    infile.close();
    cout<<endl;
    //把处理后的数据 存到   文件f3   中
    outfile.open("G:\\f3.dat",ios::out);
    for(int k=0;k<12;k++)
    {
      
      
        outfile<<b[k];
     
    }
    outfile.close();              
   
    system("pause");
   
   
   
   
   
    return(0);
}  
    for(int k=0;k<12;k++)
    {
        ofstream outfile("G:\\f3.dat",ios::out);
        
        outfile<<b[k];
      
    }
这个循环有问题,ofstream outfile("G:\\f3.dat",ios::out)这个在循环内,你每次写入一个字母都会覆盖原文件,所以只有最后一个字母能成功写入。
#6
tianxiao1102010-08-05 11:02
回复 5楼 ragnaros
懂了,谢谢你
#7
iamthinking12010-08-09 07:43
不懂吧!!
1