Bonjour quelqu'un peux-t il m'aider à utiliser la fonction strcat dans mon code.
Quand je compile ,il y a l'interface graphique qui s'ouvre normalement.Et on doit rentrer une fréquence et une amplitude et ensuite on appuit sur "mesure" et ya un chiffre qui doit être indiquer dans 'indic'.Mais le problème c'est que j'utilise mal ma fonction strcat .voici mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#include <gpib.h>
#include <ansi_c.h>
#include <analysis.h>
#include <cvirte.h>		
#include <userint.h>
#include "gpib_prog.h"
 
/*#define  SINUS
#define AMPLITUDE  */
 
 
#define ARRAYSIZE          1024     // Size of read buffer
 
#define BDINDEX               0     // Board Index
#define PRIMARY_ADDR_OF_DMM   1     // Primary address of device
#define NO_SECONDARY_ADDR     0     // Secondary address of device
#define TIMEOUT               T10s  // Timeout value = 10 seconds
#define EOTMODE               1     // Enable the END message
#define EOSMODE               0     // Disable the EOS mode
 
int Dev;
int PanelHandle;
	int main (int argc, char *argv[])
{
	if (InitCVIRTE (0, argv, 0) == 0)
		return -1;	/* out of memory */
 
	Dev = ibdev(BDINDEX, PRIMARY_ADDR_OF_DMM, NO_SECONDARY_ADDR, TIMEOUT,EOTMODE, EOSMODE);
	ibclr (Dev);
 
	if ((PanelHandle = LoadPanel (0, "gpib_prog.uir", PANEL)) < 0)
		return -1;
	DisplayPanel (PanelHandle);
	RunUserInterface (); 
	DiscardPanel (PanelHandle);
	return 0;
}
 
    int CVICALLBACK init (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
 
			break;
		case EVENT_RIGHT_CLICK:
 
			break;
	}
	return 0;
}
 
 
 
 
     int  CVICALLBACK mesure (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	char amp[256];
	char freq[256];
 
 
	double frequence;
	double amplitude;
	double er;
	switch (event)
	{
		case EVENT_COMMIT:
 
			GetCtrlVal(PanelHandle, PANEL_FREQUENCE,&frequence);
			GetCtrlVal(PanelHandle, PANEL_AMPLITUDE,&amplitude);
			sprintf(freq,"%d%s",&frequence,"");
			sprintf(amp,"%d%s",&amplitude,"");
 
			er=strcat(freq,"FR");
			SetCtrlVal(PanelHandle, PANEL_INDIC, er);
			/*at=SetCtrlVal(PanelHandle, PANEL_AMPLITUDE, "*AM?");
			SetCtrlVal(PanelHandle, PANEL_INDIC,er);*/
 
			/*ibwrt(Dev, &freq, strlen(&freq));
			ibwrt(Dev, &amp, strlen(&amp));*/
 
 
 
			break;
		case EVENT_RIGHT_CLICK:
 
			break;
	}
	return 0;
}
 
 
	  int CVICALLBACK boutonok (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
 
 
	switch (event)
	{
		case EVENT_COMMIT:
 
			break;
		case EVENT_RIGHT_CLICK:
 
			break;
	}
	return 0;
} 
 
 
int CVICALLBACK stop (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
 
			ibonl(Dev,0);
 
			break;
		case EVENT_RIGHT_CLICK:
 
			break;
	}
	return 0;
}
 
 
	  int CVICALLBACK QuitCallback (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
 
			ibonl(Dev,0);
 
			break;
		case EVENT_RIGHT_CLICK:
 
			break;
	}
	return 0;
}