用c++语言怎么实现从txt文件中读取数据

时间:2021-10-31 09:03:50
现在有一个银行账户管理程序(课程设计的),测试数据要求从文本中读出十个数据,文本中按顺序存有“账号:10001姓名:123身份证号:362426198912249518工作单位:000地址:123电话号码:123余额:200密码:123456”(这是一个例子)
double customer_Num; 
char Name[8]; 
char ID[30]; 
char Work_Group[80]; 
char Tel_Num[20]; 
char Address[60];
float Money;
double password;
这是各个依次对应的数据类型:
请高手指点,该怎么实现从文本中读出数据

15 个解决方案

#1


利用fread和fwrite格式化读取文件  因为你都是用的猪猪每个结构体的长度是固定的  可以采用这种读取文件

#2


#include <iostream>
#include <fstream>
using namespace std;

int main()
{


ifstream in("1.txt");
char c;
while(in.get(c))
cout.put(c);
return 0;
}

#3


CFile 足矣。。。。

#4


还有一个问题,比如说我在这个程序中实现了在账户中取钱转账销户等功能,我在开户时将开户人的信息也存入了“customer.txt”文档,我在进行上述功能方面的操作时,如何同步实现在文档中同步更新数据的操作。

#5


引用 2 楼 afterseptember 的回复:
C/C++ code
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    
    
    ifstream in("1.txt");
    char c;
    while(in.get(c))
        cout.put(c);
    return 0……

这个可以实现都这些数据进行访问操作吗,比如查询账户

#6


引用 1 楼 hnuqinhuan 的回复:
利用fread和fwrite格式化读取文件 因为你都是用的猪猪每个结构体的长度是固定的 可以采用这种读取文件

这个可以详细点吗?比如写出些代码。。。谢谢了

#7


	FILE* lpUserInfo = fopen("UserInfo.txt","r");
char lszReadBuffer[1024] = {0};
if (lpUserInfo)
{
while (fread(lszReadBuffer, 1,1024,lpUserInfo);)
{
//内容就在lszReadBuffer里面,自己解析字符串吧
}
fclose(lpUserInfo);
}

#8


while (fread(lszReadBuffer, 1,1024,lpUserInfo);)
-》while (fread(lszReadBuffer, 1,1024,lpUserInfo))

不好意思 呵呵

#9


引用 6 楼 qy5408535 的回复:
引用 1 楼 hnuqinhuan 的回复:
利用fread和fwrite格式化读取文件 因为你都是用的猪猪每个结构体的长度是固定的 可以采用这种读取文件

这个可以详细点吗?比如写出些代码。。。谢谢了

关于这两个函数 你可以参考这个帖子

#10


考虑清楚是按文本存还是字节流存.

#11


引用 10 楼 qq120848369 的回复:
考虑清楚是按文本存还是字节流存.

按文本存档的。。。。

#12


引用 7 楼 jptaozhantaozhan 的回复:
C/C++ code

    FILE* lpUserInfo = fopen("UserInfo.txt","r");
    char lszReadBuffer[1024] = {0};
    if (lpUserInfo)
    {
        while (fread(lszReadBuffer, 1,1024,lpUserInfo);)
        {
 ……

看不懂啊。。。。求解

#13


文件的操作你不会不知道吧,fread和fwrite函数啊 , 去查一下API

#14


作业贴。。。兄弟稍微看下书,就会了。。有点心思

#15


看看这个:

      VC读取.txt文件中的数据

      C++:如何读取文本数据

#1


利用fread和fwrite格式化读取文件  因为你都是用的猪猪每个结构体的长度是固定的  可以采用这种读取文件

#2


#include <iostream>
#include <fstream>
using namespace std;

int main()
{


ifstream in("1.txt");
char c;
while(in.get(c))
cout.put(c);
return 0;
}

#3


CFile 足矣。。。。

#4


还有一个问题,比如说我在这个程序中实现了在账户中取钱转账销户等功能,我在开户时将开户人的信息也存入了“customer.txt”文档,我在进行上述功能方面的操作时,如何同步实现在文档中同步更新数据的操作。

#5


引用 2 楼 afterseptember 的回复:
C/C++ code
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    
    
    ifstream in("1.txt");
    char c;
    while(in.get(c))
        cout.put(c);
    return 0……

这个可以实现都这些数据进行访问操作吗,比如查询账户

#6


引用 1 楼 hnuqinhuan 的回复:
利用fread和fwrite格式化读取文件 因为你都是用的猪猪每个结构体的长度是固定的 可以采用这种读取文件

这个可以详细点吗?比如写出些代码。。。谢谢了

#7


	FILE* lpUserInfo = fopen("UserInfo.txt","r");
char lszReadBuffer[1024] = {0};
if (lpUserInfo)
{
while (fread(lszReadBuffer, 1,1024,lpUserInfo);)
{
//内容就在lszReadBuffer里面,自己解析字符串吧
}
fclose(lpUserInfo);
}

#8


while (fread(lszReadBuffer, 1,1024,lpUserInfo);)
-》while (fread(lszReadBuffer, 1,1024,lpUserInfo))

不好意思 呵呵

#9


引用 6 楼 qy5408535 的回复:
引用 1 楼 hnuqinhuan 的回复:
利用fread和fwrite格式化读取文件 因为你都是用的猪猪每个结构体的长度是固定的 可以采用这种读取文件

这个可以详细点吗?比如写出些代码。。。谢谢了

关于这两个函数 你可以参考这个帖子

#10


考虑清楚是按文本存还是字节流存.

#11


引用 10 楼 qq120848369 的回复:
考虑清楚是按文本存还是字节流存.

按文本存档的。。。。

#12


引用 7 楼 jptaozhantaozhan 的回复:
C/C++ code

    FILE* lpUserInfo = fopen("UserInfo.txt","r");
    char lszReadBuffer[1024] = {0};
    if (lpUserInfo)
    {
        while (fread(lszReadBuffer, 1,1024,lpUserInfo);)
        {
 ……

看不懂啊。。。。求解

#13


文件的操作你不会不知道吧,fread和fwrite函数啊 , 去查一下API

#14


作业贴。。。兄弟稍微看下书,就会了。。有点心思

#15


看看这个:

      VC读取.txt文件中的数据

      C++:如何读取文本数据