#include <iostream>
#include <fstream>
#include <string>
using namespace std;#define _MAX_PATH 20
const char* protocol = "d:\\test.txt";void AddItem(char *entry,char *root)
{
char path[_MAX_PATH];
strcpy(path, root);
strcat(path, entry);
}
int main(int argc, char *argv[])
{
FILE *fp = NULL;
char path[_MAX_PATH];
char key[_MAX_PATH];
char root[_MAX_PATH];
char file[_MAX_PATH];
char value[_MAX_PATH];
int len; strcpy(path,protocol);
strcpy(root,path);
fp = fopen(path,"rb");
if(!fp)
exit(-1); file[0] = 0;
len = -1;
while(!feof(fp))
{
if(fscanf(fp,"%[^=]=%[^\n\r] ",value))
{
AddItem(file,root);
strcpy(file, value); //1,请问这里的file会受到AddItem内file数值变化的影响吗?
// 2,是否会造成缓冲区溢出?
continue;
}
}
cout<<sizeof(file)<<endl;
fclose(fp);
return 0;
}
#include <fstream>
#include <string>
using namespace std;#define _MAX_PATH 20
const char* protocol = "d:\\test.txt";void AddItem(char *entry,char *root)
{
char path[_MAX_PATH];
strcpy(path, root);
strcat(path, entry);
}
int main(int argc, char *argv[])
{
FILE *fp = NULL;
char path[_MAX_PATH];
char key[_MAX_PATH];
char root[_MAX_PATH];
char file[_MAX_PATH];
char value[_MAX_PATH];
int len; strcpy(path,protocol);
strcpy(root,path);
fp = fopen(path,"rb");
if(!fp)
exit(-1); file[0] = 0;
len = -1;
while(!feof(fp))
{
if(fscanf(fp,"%[^=]=%[^\n\r] ",value))
{
AddItem(file,root);
strcpy(file, value); //1,请问这里的file会受到AddItem内file数值变化的影响吗?
// 2,是否会造成缓冲区溢出?
continue;
}
}
cout<<sizeof(file)<<endl;
fclose(fp);
return 0;
}
解决方案 »
- combobox如果没有被选择的时候,那么如何获取编辑框里的内容呢
- 用CreateProcess调用一个命令行工具时出现This application has requested the Runtime...
- 各位兄弟姐妹过年好!请问有谁知道如何用"空手机号"给对方发短信?
- 以下的代码为什么不能得到正确的结果
- 请教高手:如何获得快捷方式(.lnk)的源文件路径
- 关于STATIC TEXT
- 读<<深入浅出MFC>>,遇到问题,请求帮助
- 有没有人写过proxy,有的话给个代码!
- 如何得到对话框的hWnd ,我用AfxGetMainWnd()怎么没用,
- CEnd类是干什么的?
- CImage读取png图片文件资源
- MFC 自定义箭头的填充
不会,被覆盖了// 2,是否会造成缓冲区溢出?
有可能,建议用strncpy