gpt4 book ai didi

c++ - WINAPI C++ VS 2008 与 VS 2010

转载 作者:搜寻专家 更新时间:2023-10-31 00:20:03 25 4
gpt4 key购买 nike

我一直在编写一个应用程序来监视某个目录中是否添加了文件,并按特定顺序发送这些文件。它确实工作得很好。但是我遇到了一个有趣的问题——我在 Windows XP 上使用 VS 2008 编写了这个项目,我需要将我的解决方案与另一个位于装有 Windows 7 和 VS 2010 的 PC 上的解决方案合并,但我编写的代码只是简单地不一样工作! A.k. A。我已将 TCHAR* 视为 char*,据我所知,它不会产生问题,但在 VS 2010 上不会发生转换。代码贴在下面。

int ftp_send(char* filename, TCHAR* path) {     
FILE *fPtr,*fp;
char s[128],*loc=NULL;
char command1[1024];
char log[1024];
char systemcom[2048];
char name1[1024];
int success = 0;

sprintf_s(command1, 1024, "open 127.0.0.1\nbear\nitriv100\nbinary\nprompt\nmput %s\\rev%s*\n\nbye\n", path, filename);
sprintf_s(log, 1024, "%s\\log.txt", path);
sprintf_s(name1, 1024, "%s\\ftp.txt", path);
sprintf_s(systemcom, 2048, "ftp -s:%s -d | find\"226\" > %s", name1, log);
//printf("%s\n%s\n%s\n", systemcom, name1, log);
fopen_s(&fp, name1, "w+");
fprintf(fp,command1);

fclose(fp);

while(!success){
system(systemcom);
fopen_s(&fPtr, log, "r");
if (!fPtr) {
printf("open file failure...\n");
return -1;
}
while (fgets(s, 128, fPtr) != NULL) {
loc = strstr(s, "226");
if(loc != NULL) {
printf("File rev%s completely!!\n",filename);
success = 1;
return 0;
}
}
fclose(fPtr);
}
return -1;
}

提前致谢。

康斯坦丁

最佳答案

这里的问题很可能是您的 VS 2008 项目是基于多字节字符集的,而 VS 2010 项目是基于 UNICODE 的。

右键单击项目->属性->常规->字符集

将其更改为“使用多字节字符集”。

或者,如果您想让您的代码基于UNICODE,则在您定义的所有字符串之前添加_T

关于c++ - WINAPI C++ VS 2008 与 VS 2010,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6906842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com