初学c语言,第一次写代码,结果出现这种情况,怎么回事?

初学c语言,第一次写代码,结果出现这种情况,怎么回事?希望能帮我解决一下

img

代码本身没问题,检查下你的环境,是不是运行的是另外一个程序

【相关推荐】



  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7405014
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:如何不用中断实现按一次按键启停/响应事件
  • 您还可以看一下 CSDN讲师老师的详解事件抽取与事件图谱构建课程中的 详解事件抽取与事件图谱构建-2小节, 巩固相关知识点
  • 除此之外, 这篇博客: C语言学习:除去剪切板内容的换行与回车中的 程序注意事项 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    1. 文本内容需要添加结束符 '\0' , ASCLL码值为0;
    2. 关于睡眠,作者原本使用 usleep(500);  用以让系统睡眠0.5s(文中代码是 sleep(1); 睡眠1s),可是作者发现程序运行时CPU使用率达到50%,而使用 sleep(1);  时CPU占用率只有10%不到;
      		sleep(1);/*睡眠1s*/
    3. 作者在源码使用分配内存的方式提供复制剪切板的缓存,而不是直接使用数组作为缓存,因为作者想玩,想绕远路罢了;
      	char *content;
      	content = malloc(20000);/*分配一片连续的内存*/
      	free(content);/*释放掉该指针指向的内存区域,与malloc对应使用*/
    4. 注意剪切板有多种不同的格式,可以在头文件中看到,因此代码在分析剪切板的时候数据格式不对,相关函数就不会执行,相当于跳过,借此特性作为条件判断可以达到只对文本操作的目的,而对图片等其他格式没有影响

    主程序:

    //主程序:
    		if(clipbar_process(content)) /*提取并处理剪切板的数据到指定内存*/
    		{
    			set_clipboard(content);/*粘贴到剪切板*/	
    		}

    函数失效的来源--return 0;

    	if (!IsClipboardFormatAvailable(CF_TEXT))
    		return 0;

    剪切板的格式

    #ifndef NOCLIPBOARD
    
    #define CF_TEXT 1
    #define CF_BITMAP 2
    #define CF_METAFILEPICT 3
    #define CF_SYLK 4
    #define CF_DIF 5
    #define CF_TIFF 6
    #define CF_OEMTEXT 7
    #define CF_DIB 8
    #define CF_PALETTE 9
    #define CF_PENDATA 10
    #define CF_RIFF 11
    #define CF_WAVE 12
    #define CF_UNICODETEXT 13
    #define CF_ENHMETAFILE 14
    #define CF_HDROP 15
    #define CF_LOCALE 16
    #define CF_DIBV5 17
    #define CF_MAX 18
    
    #define CF_OWNERDISPLAY 0x0080
    #define CF_DSPTEXT 0x0081
    #define CF_DSPBITMAP 0x0082
    #define CF_DSPMETAFILEPICT 0x0083
    #define CF_DSPENHMETAFILE 0x008E
    
    #define CF_PRIVATEFIRST 0x0200
    #define CF_PRIVATELAST 0x02FF
    
    #define CF_GDIOBJFIRST 0x0300
    #define CF_GDIOBJLAST 0x03FF
    #endif


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^