关于函数参数中有指针无法带出地址
来源:互联网 发布:软件系统演示平台 编辑:程序博客网 时间:2024/05/19 03:29
本人菜鸟一只,写了一个读入全部文件的函数,接口一直有问题,代码如下:
int ReadAllFile(wstring sfilepath, WCHAR*sfile,int mod){wifstream file(sfilepath.c_str(), std::wifstream::binary);WCHAR*szencr;if (file){// Calculate the file's size, and allocate a buffer of that size.file.seekg(0, file.end);const int file_size = file.tellg();if (file_size > (1024 * 10000)){file.close();//delete szencr;return -1;}// Read the entire file into the buffer.file.seekg(0, file.beg);szencr = new WCHAR[file_size + 1];memset(szencr, 0, file_size + 1);//szencr = file.rdbuf();file.read(szencr, file_size);//file.getline(szencr, file_size);file.close();sfile = szencr;//希望传出地址return 0;}else{return -1;}}
但是这样出来的sfile 一直为null,一直以为sfile 就是个地址,我传的地址进去,就应该能带出地址,实际上是不行的,应该将参数改成如下:
int CSkfControl::ReadAllFile(wstring sfilepath, WCHAR*&sfile,int mod)//引用传递,不是引用的话,值传递,一直不知道指针也是可以引用传递的。。。。。太菜了{wifstream file(sfilepath.c_str(), std::wifstream::binary);WCHAR*szencr;if (file){// Calculate the file's size, and allocate a buffer of that size.file.seekg(0, file.end);const int file_size = file.tellg();if (file_size > (1024 * 10000)){file.close();//delete szencr;return -1;}// Read the entire file into the buffer.file.seekg(0, file.beg);szencr = new WCHAR[file_size + 1];memset(szencr, 0, file_size + 1);//szencr = file.rdbuf();file.read(szencr, file_size);//file.getline(szencr, file_size);file.close();sfile = szencr;return 0;}else{return -1;}}
0 0
- 关于函数参数中有指针无法带出地址
- C#中调用dll,函数参数带指针
- 带指针参数的函数指针数组
- 解决json参数中有参数是url地址导致json无法正确传输与解析
- 关于函数的指针参数
- 关于函数的指针参数
- 关于指针作函数参数
- 当函数中返回值为值,指针,引用时,是如何带出和接收的?
- C函数中指针参数
- C/C++中关于地址、指针和引用变量的学习笔记(八) : 命令行参数
- 关于带参数的main函数
- c语言指针做函数参数,使用指针地址(二级指针)在被调函数中修改主调函数的指针。
- GetWindowsDirectory带出指针值
- 关于C中函数参数,指针-常量-引用解释的4个函数例子
- [C++]关于指针作为函数参数传递
- [C++]关于指针作为函数参数传递
- C/C++中关于地址、指针和引用变量的学习笔记(四) : 函数
- js关于循环中onclick绑定带参数的函数问题
- ORACLE日期时间函数大全
- c++设计模式之strategy策略模式
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- c++设计模式之Template Method模板方法模式
- Node.js的学习日记 图片简单下载和拷贝功能的实现 简单下载和拷贝
- 关于函数参数中有指针无法带出地址
- 437. Path Sum III
- IOS开发入门(6)-自动布局(1)
- c++设计模式之Visitor访问者模式
- <日常学习篇>spring整合webSocket
- 对标华为Mate 9 保时捷版,金立M2017凭什么?
- Linux系统(CentOS)安装Python
- linux c 定时器
- 【问题】sql server2008评估期已过