C++中怎样将一个文件的内容读取到string类型的字符串中。谢谢!

C++中怎样将一个文件的内容读取到string类型的字符串中。谢谢!,第1张

先将文件全部读入 char* 变量。再用 string 类 构建函数建一个string 对象,在把 char* 内容放入。

下面是芦运将文件全部读入char * buffer

/* fread example: read an entire file */

#include <stdio.h>

#include <stdlib.h>

int main () {

FILE * pFile

long lSize

char * buffer

size_t result

pFile = fopen ( "myfile.bin" , "rb" )

if (pFile==NULL) {fputs ("File error",stderr)exit (1)}

// obtain file size:

fseek (pFile , 0 , SEEK_END)

lSize = ftell (pFile)

rewind (pFile)

// allocate memory to contain the whole file:

buffer = (char*) malloc (sizeof(char)*lSize)

if (buffer == NULL) {fputs ("Memory error",stderr)exit (2)}

/搭哗物/ copy the file into the buffer:

result = fread (buffer,1,lSize,pFile)

if (result != lSize) {fputs ("Reading error",stderr)exit (3)}

/* the whole file is now loaded in the memory buffer. */知液

// terminate

fclose (pFile)

free (buffer)

return 0

}

构建函数建一个string 对象,把 char * buffer 内容存入 程序部分,请自己补充:

#include <windows.h>

#include<iostream>

#include <string>

using namespace std

#include <stdio.h>

// 插入上面程序 .....

// 补充

string sss

sss.assign(buffer,result)

cout <<sss <<endl

学了结构体了没?

学过结构体就用以下方法读写亮宽轮文件

/* 写文件 */

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

// 用户信息结构体

struct user_info{

char name[30] // 姓名

char sex[10] // 性别

int id // 帐号

}

int main(){

FILE *fp = fopen("user_info.txt","w+b") // 创建一个文件

if(fp == NULL){ // 如果创建文件失败

perror("fopen()")

return -1

}

struct user_info u

strcpy(u.name, "xiaoming")

strcpy(u.sex, "boy")

u.id = 12345678

fwrite(&u, sizeof(u), 1, fp)// 把信息写入到文件中

close(fp)

return 0

}

/* 读文件 */

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

struct user_info{

char name[30] // 姓名

char sex[10] // 性别

int id // 帐号

}

int main(){

FILE *fp = fopen("user_info.txt","r+b"敬信) // 打开一个文件

if(fp == NULL){ // 如果打开文件失败

perror("fopen()")

return -1

}

struct user_info u

fread(&u, sizeof(u), 1, fp)// 把读取文件

// 打印读巧唯取的信息

printf("name:%s sex:%s id:%d\n", u.name, u.sex, u.id)

close(fp)

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8188967.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存