VC++中TXT文件输出出现问题

来源:百度知道 编辑:UC知道 时间:2024/06/10 23:02:32
我人生的第一个老板给我的第一个作业,让我把他给我的TXT文件里面的数据进行排序.可是我现在进行不下去了,因为我写的程序中数据流读不出,也就是读不出TXT里面的数据,输出不来,麻烦高手帮我解决下,分可以继续给你 我还有350分 都可以给你,因为这个对我太重要了,麻烦高手帮忙 帮我看下程序.最好能帮我修改下.真是边学边用啊,所以超级菜鸟
// lot.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "lot.h"
#include <stdio.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#endif

// 唯一的应用程序对象

CWinApp theApp;

using namespace std;

//控制台应用程序的主程序,控制台应用程序就像DOS那样的命令行模式。
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;

// 初始化 MFC 并在失败时显示错误
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: 更改错误代码以符合您的需要
_tprintf(_T("致命错误: MFC 初始化失败\n"));
nRetCode = 1;
}
else
{
//代码都放在这个块里
sortfile("c:\\a.txt",1);
getch();
}

return nRetCode;
}
void sortfile(char *pFile,

加Q细说 155222738
留下邮箱!

唔,你TXT中的数据都是以空格分开的么
另外如果文本不是ANSI的话不能这样读取的~~

============
逗号分开的话你最好用
%s,%s的形式来读取

%s不是以逗号分隔的,所以用%s来直接fscanf的话肯定不行.
比如scanf("%s,%s",str1,str2)的话,输入a,b,那么a,b都会被str1接收.

LZ可能需要用%s一次性读一个完整的数据,存入一个数组,然后再对这个数组进行分析,分离出各个数据.

为什么不用c++的流类库。data[i]结构未知,所以无法验证。用c++的文件流给你写了个读取这个文件的函数,vs2008下测试工作正常。
void readfile() //文本形式读写文件
{
char ch;
char s[30];
int j=0;
ifstream fin("c:\\a.txt");
if(!fin)
{
cout<<"can not open infile!"<<endl;
}

while(fin.get(ch))
{
if(ch == ',')
{

s[j]='\0';
printf("%s",s);
j=0;
//strcpy(data[i].XXX,s); //在这里把字符串拷贝到你的数据中
}
else
{
s[j]=ch;
j++;
}
}
s[j]='\0';
printf("%s,",s);
//strcpy(data[i].XXX,s);//在这里把字符串拷贝到你的数据中