标题: [已解决] 求解,C语言通用符*怎么实现代表不同文件夹里的批量图片和文本文件? [打印本页]
作者: zzz19760225 时间: 2024-8-19 08:49 标题: [已解决] 求解,C语言通用符*怎么实现代表不同文件夹里的批量图片和文本文件?
本帖最后由 zzz19760225 于 2024-8-24 11:17 编辑
win10+vc6.0+easyx
Five66大侠的代码
#ifdef UNICODE
swprintf(str,111,L"三国演义-铁笼山%d.jpg",a);
#else
sprintf(str,"三国演义-铁笼山%d.jpg",a);
#endif
里面,三国演义-铁笼山%d.jpg=*%d.jpg
想把把文件名换成通用符,应对不同的批量文件。
编译通过,但是在图片区软件界面黑的,狂点鼠标也不见内容出来。不知道怎么肥事,求解- #include <stdio.h>
- #include <stdlib.h>
- #include <conio.h>
- #include <windows.h>
- #include <graphics.h>
- #ifdef _MSC_VER
- #pragma warning(disable:4996)
- #endif
- int main (){
- #ifdef UNICODE
- wchar_t str[128]={0};
- #else
- char str[128]={0};
- #endif
- initgraph(1200, 700);
- int a = 0;
- a0:
-
- while (!kbhit()) {// 无限循环,直到用户按下ESC键
- MOUSEMSG msg = GetMouseMsg();// 鼠标状态
- if (msg.uMsg == WM_LBUTTONDOWN) {// 检查是否有鼠标点击
- a=a+1;
- goto a1;
- }
- if (msg.uMsg == WM_RBUTTONDOWN) {// 如果是右键点击
- a=a-1;
- goto a1;
- }
- a1:
- #ifdef UNICODE
- swprintf(str,111,L"*%d.jpg",a);
- #else
- sprintf(str,"*%d.jpg",a);
- #endif
- IMAGE img;
- loadimage(&img,str,1200,500);
- putimage(0, 0, &img);
-
- #ifdef UNICODE
- swprintf(str,111,L"*%d.txt",a);
- #else
- sprintf(str,"*%d.txt",a);
- #endif
-
- FILE *file = fopen(str, "r");// 打开并读取文本文件
- if (file) {
- char buffer[1024];
- int y = 600; // 假设图片下方开始显示文本,上下600位置写字
- char *line;
- while (fgets(buffer, sizeof(buffer), file)) {// 逐行读取文件内容并显示
- line = strdup(buffer); // 复制行以便修改
- outtextxy(20, y, line); // 显示文本,假设从(20, y)开始
- free(line); // 释放行内存
- y += 20; // 下一行的y坐标
- }
- fclose(file); // 关闭文件
-
- }
- goto a0;
- }
- Sleep(3300);
- cleardevice();
- goto a0;
-
- closegraph();
- return 0;
- }
复制代码
作者: Five66 时间: 2024-8-19 15:13
额,通配又不一定支持
像这种格式化字符串和文件打开函数之类是肯定是不支持的
通配已知的直接放进变量里
通配未知的自己遍历文件找出来
还有不要在循环中用goto,跟据编译器生成的代码位置不同,可能会中断循环(大部分都会中断)
#ifdef UNICODE
wchar_t *b=L"三国演义-铁笼山";//b不知道就通过查找文件之类的方式找出来
wchar_t str[1024]={0};
swprintf(str,L"%s%d.jpg",b,a);//swprintf(str,sizeof(str),L"%s%d.jpg",b,a);
#else
char *b="三国演义-铁笼山";//b不知道就通过查找文件之类的方式找出来
char str[1024]={0};
sprintf(str,"%s%d.jpg",b,a);
#endif
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |