❶ c语言编写程序后,为什么执行时自动关闭
出现这种情况与溢出造成的有关 ,可以设置断点观察下,在哪里自动关闭。常见的容易溢出的原因是第一个是数组下标越界,第二个是除数为0当然还有其他的。
常见的原因因为程序没有设置暂停,运行完了之后,就自动关闭。可以在程序最后加上getchar();或者 system(pause)。实现程序暂停的效果。
pause是cmd中的一个命令,通过system函数调用执行。这样程序会在执行这个之后结束,换句话说就是按任意键退出,而不会直接退出。
(1)c语言工作空间关闭扩展阅读
圆周长的程序的源代码如下
#include<stdio.h>
#define PI 3.14void main()
{
float r; //半径
float c;//周长printf("请输入半径:");
scanf("%f",&r);
c = 2 * PI * r;
printf("圆的周长为:%f ", c);
}
❷ 怎么用C语言写一个关闭后台某进程的程序
//kill进程from名字
BOOL KillProcessFromName(LPCSTR lpProcessName)
{
//创建进程快照(TH32CS_SNAPPROCESS表示创建所有进程的快照)
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
//PROCESSENTRY32进程快照的结构体
PROCESSENTRY32 pe;
//实例化后使用Process32First获取第一个快照的进程前必做的初始化操作
pe.dwSize = sizeof(PROCESSENTRY32);
//下面的IF效果同:
//if(hProcessSnap == INVALID_HANDLE_VALUE) 无效的句柄
if(!Process32First(hSnapShot,&pe))
{
return FALSE;
}
CString strProcessName = lpProcessName;
//将字符串转换为小写
strProcessName.MakeLower();
//如果句柄有效 则一直获取下一个句柄循环下去
while (Process32Next(hSnapShot,&pe))
{
//pe.szExeFile获取当前进程的可执行文件名称
CString scTmp = pe.szExeFile;
//将可执行文件名称所有英文字母修改为小写
scTmp.MakeLower();
//比较当前进程的可执行文件名称和传递进来的文件名称是否相同
//相同的话Compare返回0
if(!scTmp.Compare(strProcessName))
{
//从快照进程中获取该进程的PID(即任务管理器中的PID)
DWORD dwProcessID = pe.th32ProcessID;
HANDLE hProcess = ::OpenProcess(PROCESS_TERMINATE,FALSE,dwProcessID);
::TerminateProcess(hProcess,0);
CloseHandle(hProcess);
return TRUE;
}
scTmp.ReleaseBuffer();
}
strProcessName.ReleaseBuffer();
return FALSE;
}
以杀死qq程序为例,我们可以通过下列方式:
KillProcessFromName("qq.exe");
❸ 为什么C语言会出现文件关闭失败的情况
C语言关闭文件用int fclose(FILE* fp)函数,可能有多种失败原因。
1、错误的参数。传递给fclose的参数不是来自fopen、freopen或者tmpfile函数返回的正确文件指针。如果用上述三个函数打开文件不成功而不检查返回的文件指针是否正确,甚至没有给文件指针赋值,最后再传给fclose的时候也会关闭文件失败。
2、重复关闭文件。如果在前面的执行流程的某个分支里把文件已经关闭了,在后面重复执行fclose关闭这个文件,也导致关闭失败。
3、磁盘空间满或者磁盘故障。在写文件过程中,文件内容并没有真正存入磁盘空间,而是保留在缓冲区中,以便提高访问速度。到关闭文件时,系统要把缓冲区中的数据真正写入到磁盘上,如果磁盘空间满了或者磁盘有故障,关闭文件就会失败。
4、设备文件异常。C语言支持操作系统把各种设备虚拟成的设备文件。关闭这些设备文件时,如果设备异常(比如设备断开了),关闭文件也可能会失败。
❹ C语言如何关闭应用程序的窗口
可以使用system + taskkill来关闭进程。
例如:
system("taskkill -f -im qq.exe"); //调用system函数,使用dos当中的taskkill命令关闭qq进程。windows操作系统下system () 函数。
函数名: system
功 能: 发出一个DOS命令
用 法: int system(char *command);
system函数已经被收录在标准c库stdlib.h中,可以直接调用。在DOS中,taskkill是用来终止进程的。
具体的命令规则如下:
TASKKILL [/S system [/U username [/P [password]]]]
{ [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]
描述:一个或多个任务或进程结束。 可以按进程 ID 或图像名结束进程。
❺ 关于C语言关闭窗口的问题
#include<stdio.h>
#include<stdlib.h>
intmain()
{
charm='a';
do{
printf("%c",m);
system("pause");
system("exit");//主要是这里
}
while(!m)
;
return0;
}
在IDE里永远不会关闭,生成exe再运行就可以了
❻ c语言软件中,左边的方框关闭了如何打开,如图斜线所视,谢谢啦
图呢 选加斜线单元格输入文字文字比姓名 绩双击单元格选姓名——右键——设置单元格格式——字体——勾选标——确定 同理选绩——右键——设置单元格格式——字体——勾选标(掉标)——确定 设置字体些加字号即图 图" class="illustration_alink"
❼ c语言怎么关闭正在运行的应用程序
可以通过system 函数,调用dos命令taskkill实现关闭正在运行的应用程序。
如
system("taskkill /im notepad.exe");
会关闭记事本应用。
system("taskkill \F /pid 1234 \T");
会强制结束pid为1234的进程及其子进程。
关于taskkill的详细描述如下:
TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]
参数列表:
/S system 指定要连接到的远程系统。
/U [domain\]user 指定应该在哪个用户上下文
执行这个命令。
/P [password] 为提供的用户上下文指定密码。如果忽略,提示输入。
/F 指定要强行终止的进程。
/FI filter 指定筛选进或筛选出查询的的任务。
/PID process id 指定要终止的进程的PID。
/IM image name 指定要终止的进程的图像名。通配符 '*'可用来指定所有图像名。
/T Tree kill: 终止指定的进程和任何由此启动的子进程。
/? 显示帮助/用法。
筛选器:
筛选器名 有效运算符 有效值
----------- --------------- --------------
STATUS eq, ne 运行 | 没有响应
IMAGENAME eq, ne 图像名
PID eq, ne, gt, lt, ge, le PID 值
SESSION eq, ne, gt, lt, ge, le 会话编号
CPUTIME eq, ne, gt, lt, ge, le CPU 时间,格式为
hh:mm:ss。
hh - 时,
mm - 钟,ss - 秒
MEMUSAGE eq, ne, gt, lt, ge, le 内存使用,单位为 KB
USERNAME eq, ne 用户名,格式为
[domain\]user
MODULES eq, ne DLL 名
SERVICES eq, ne 服务名
WINDOWTITLE eq, ne 窗口标题
注意: 只有带有筛选器的情况下,才能跟 /IM 切换使用通配符 '*'。
注意: 远程进程总是要强行终止,
不管是否指定了 /F 选项。
❽ 用VC如何编译多个单独的C程序!
在同一工程中加.cpp文件即可
比如你的工程中有两个.cpp文件(如图)(PS:用VC6可能按“添加文件到工程”时会崩溃,你可看网页链接)
注意,调用其它.cpp的函数时到先声明该函数
❾ C语言的程序用任务管理器关不掉怎么办
任务管理器 不要选应用程序那栏,死掉的程序结束不掉很正常。要选择进程,比如找到aaaaaa.exe,把它结束掉
❿ C语言中有些程序的运行窗口没有办法关闭,用windows任务管理器也没有办法关闭,什么原因,怎样关闭
我也遇到过,只有重启。。。不过我是用turboc写的时候才出现的,vc++并没有出现过,或许是软件的问题,建议用dev-c++、win-tc之类的编译器!挺好用的
-物联网校企联盟技术部