如何在QT中写C函数?

如何在QT中写C函数?,第1张

如果你实在想用qt又要用c/c++标准库,那么 qt for vs 倒是一个不错的选择,可惜貌似你在Linux使用的。程序编译出错,很有可能是因为找不到你用到某些函数的头/库文件。
不过你既然都用到qt了,建议还是用qt提供的一整套机制来实现你的程序,对于你问题中提到的需求,可以有下面的解决方式:
用QDir类可以实现对所有目录/文件的遍历 *** 作,
用QFile/QTextStream可以实现对文件读写的 *** 作等。
qt提供的接口都很友好,你稍微看一下qt的帮助文档就知道应该怎么用了。不过如果你是想把一个C语言做的项目用qt重做的话,那就当我什么都没有说了~

C语言函数调用的三种方式并分别举一例。 按函数调用在程序中出现的位置,有三种函数调用方式
1.表达式方式
函数调用出现在一个表达式中,这种表达式称为函数表达式这时要求函数返回一个确定的值以参加表达式的运算
例如:y—max(a,b)+max(c,d),两次函数调用都是表达式的一部分,分别以返回a与b、c与d的最大值参与表达式运算
2.语句方式
把函数调用作为一个语句常用于只要求函数完成一定的 *** 作,不要求函数返回值这在scanf()函数及printf()函数的调用中已多次使用
在其它高级语言中,函数的调用只能以表达式方式进行C语言中的语句方式调用,实际还是以表达式方式调用为基础
3.参数方式
函数调用作为另一个函数的实参
例如:m:max(max(a,b),max(c,d)),max(a,b)与maX(c,d)两次函数调用作为另一次max()函数调用的实参,用来求出a、b、c、d的最大值
以参数方式调用实际上是表达式调用方式的一种特殊情况 >
unix上java调用c语言函数
和Linux下类似
使用JNI
圆的面积用c语言函数调用怎么做?
计算圆的面积的编程是:

#include <stdioh>

#define N 314 圆周率
float S(float r)计算面积

{

float s;

s=Nrr;

return s;

}

void main()

{

float r;

printf("请输入圆的半径:");

scanf("%f",&r);

printf("\n该圆的半径是:%f",S(r));

}

1、C语言的介绍:C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

2、C语言的基本特性:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
Qt能调用C语言函数吗
能啊 ,头文件注意一下就好了。Qt 就是个 C++ 类库,在 C++ 中怎么使用 C 语言里的东西,在 Qt 中同样。
中国物联网校企联盟技术部
C语言函数调用 反序输出一字符串
#include<stdioh>
#include<stringh>
void printit(char str,int length)
{
int i;
for(i=length-1;i>=0;i--)
putchar((str+i));
putchar('n');
}
void main()
{
char str[80]="";
printf("输入一个字符串:");
gets(str);
printit(str,strlen(str));
}
vc60通过编译调试正确了
用函数调用的方法,实现任意10个数的求和、、c语言

#include<stdioh>float add10(float s[]){ int i; float sum=0; for (i=0; i<10; i++) sum+=s[i]; return sum;}void main(){ int i; float n[10]; for(i=0; i<10; i++) { printf("Input %d:", i+1); scanf("%f", &n[i]); } printf("SUM=%f",add10(n));}

c语言函数调用求数组各元素的阶乘 急。
基数是奇数的意思吗?
#include "stdioh"
#include "conioh"
main()
{
int a[10],i;
long jc(long x);
for(i=0;i<10;i++)
{
printf("Please input a[%d]:",i);
scanf("%d",&a[i]);
}
for(i=0;i<10;i++)
{
if(i%2!=0)
printf("%ld,",jc((long)a[i]));
}
getch();
}
long jc(long x)
{
long y;
long i,E=1;
if(x!=0)
for(i=1;i<=x;i++)
E=i;
else E=1;
y=E;
return(y);
} /定义阶乘/
用函数调用的方式将二进制转换成十进制的c语言

#include <stdioh>long long int conv(char b[]){ long long int d=0; int i=0; while(b[i++]) d=d2+b[i-1]-'0'; return d;}int main(){ char b[64]; printf("二进制数:"); gets(b); printf("十进制数:%lld\n",conv(b)); return 0;}

loadrunner中怎么调用c语言函数
不用安装VS。。。在脚本里写上加载函数就可以了。。。还有你的路径一定要对啊。。
lr_load ();

QT如果是C++版就能够调用C语言的函数,只要你用了相应的库包函。你说调用fork, waitpid, exec, thread_create, socket, connect, accept这些函数不知道每个函数的意思是什么但是,在QT里这些函数应该在QT里已经都有了的,至少我看到你说的exec,socket,connect,accept这些函数我都用了的,但是不知道你说的fork,waitpid,thread_create是什么函数,thread_create如果是建立线程的话,在QT里创建线程更简单。QT里面很少用到C的基本函数,因为QT的功能本身就比较强大,但是QT不是面向过程的集成开发环境,它是面向对象的,如果你只学了C的话,最好再学学C++吧。只有学了C++才能更好的学,不然你学起来非常痛苦,相反如果学了C++就轻松得多,至少比VC++更轻松。

先贴上源代码:
#include<QProcess>
void test6::notepad()
{
QProcess pro = new QProcess;
pro->startDetached("C://Program Files (x86)//Notepad++//notepad++exe", QStringList());
}

说明:
1 使用Qprocess的startDetached()方法,当前程序关闭时,调用的外部程序能够照常运行。

2 第一个参数是外部exe路径,当exe路径中含有空格时,就需要用到第二个参数,如果外部应用程序只需要exe这一个就可以打开时,第二个参数写成QStringList()就可以了。

3 当外部应用程序出了exe还需要其他的文件才能打开时那么将其他文件路径写进QStringList()中。

给出源代码:调用notepad++打开路劲为QString qs的txt文档
void test6::notepad(QString qs)
{
QProcess pro = new QProcess;
pro->startDetached("C://Program Files (x86)//Notepad++//notepad++exe",QStringList(qs));
}

再给出一个我调用IrFanView查看的源代码:
void test6::IrffanView()
{
QProcess pro = new QProcess;
if (!vqs_strempty())
{
vqs_it = vqs_strbegin() + selecteditem;
pro->startDetached("D:\\IrfanView\\i_view32exe", QStringList(vqs_it));
}
else
{
pro->startDetached("D:\\IrfanView\\i_view32exe", QStringList());
}
}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13412645.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-31
下一篇 2023-07-31

发表评论

登录后才能评论

评论列表(0条)

保存