void
cxxxdlg::dodataexchange(cdataexchange*
pdx)
{
cdialog::dodataexchange(pdx)
//{{afx_data_map(cxxxdlg)
ddx_text(pdx,
idc_xx_xx,
m_x)
..}
交换。
对话框中的某项的初始值
bool
cxxxdlg::oninitdialog()
{
cdialog::oninitdialog()
...在这里设置
}
----------
用到
openfilename
结构。
你把更新的文件名存起来,调用对话框时用这个(含有你的文件名梁乱的)结构就可以了。
fp=fopen(filename,"wb")里的filename就表示了文件的路径及文件名,所以要把输入的文件名和文件路径拼接起来,计算出这个filename
最好过滤一下别让路径和文件名中有非法字符,比如:\/+<>什么的。
scanf也限制一下长度。
scanf("%19s",filename)
scanf("%19s",path)
参考如下:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp
char ch, filename[20], path[20],buffer[40]
printf("Enter the file name: ")
scanf("%s",filename)
printf("Enter the path: ")
scanf("%s"竖腊,path)
sprintf(buffer, "%s\\%s"埋汪, path,filename)
printf("\nto end input ,press Ctrl+Z in newline,then ENTER:\n")
if((fp=fopen(buffer,"wt+"))==NULL)
{
printf("no such path, \nstrike any key exit!")
getch()
exit(1)
}
while ((ch=getchar())!=-1) ch=fputc(ch,fp)
fclose(fp)
printf("==================================\n\n")
printf("file path \余液滑"%s\" \nfile name \"%s\":\nand its content:\n",path,filename)
fp=fopen(buffer,"rt")
while ((ch=fgetc(fp))!=-1) putchar(ch)
fclose(fp)
return 0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)