Utiliser strncpy et l'effecter à une variable

Signaler
Messages postés
107
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2004
-
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
-
salut tout le monde, j'ai un problème à utiliser la fonction strncpy. je ne sais pas quelle gourde j'ai fait. Quelqu'un peut me la monter
j'ai besoin d'aide immediate svp
pas de temps à lire un bouquin en c!!!
merci

************************************
j'ai essayé comme ça :
char gchemin[255] = "D:\";
char gext[264]= ".tif";
char gtrim[264]="";

strncpy(gtrim,gtheFileName,8) = gtrim ;
printf("le trim est: %s\n",gtrim);
strcat(gtrim,gext);
printf("fichichier tif est: %s\n",gtrim);
strcat(gchemin,gtrim);
printf("gchemin:%s\n",gchemin);
et quand je compile il aime pas la pemière ligne:
et j'ai ça j'ai cherche sur l'aide j'ai rien compris

error C2106: '=' : left operand must be l-value

11 réponses

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
strncpy(gtrim,gtheFileName,8) = gtrim ; ???
qu'est-ce que tu cherche à faire ?
tu ne peut pas affecter le résultat d'une fonction, c'est pas une variable.
Messages postés
398
Date d'inscription
jeudi 30 octobre 2003
Statut
Membre
Dernière intervention
15 juin 2007
2
je croyais t'avoir répondu dans l'autre post pour changer l'extension, parcourir la chaine depuis la fin jusqu'au '.' et rajouter l'extension à changer
Messages postés
107
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2004

oui merci,
j'ai trouvé mon erreur tout baigne
dit
tu es à l'aise avec les interrupts calls LANGAGE BIOS
j'ai un programme utilisant les interrupts calls qui marche sous win98 et ps sous 2000
pourquoi d'aprés toi???
AU SECOURS
ahmed
Messages postés
398
Date d'inscription
jeudi 30 octobre 2003
Statut
Membre
Dernière intervention
15 juin 2007
2
parce que les interruptions sous 2000 sont intercepté par le systeme d'exploitation ...
c'est des interuptions pour faire quoi ?
Messages postés
107
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2004

c'est des intétruptions pour piloter un tachéomètre via le com rs232.
tu as déjà manipulé les intérrupt calls?
ahmed
Messages postés
398
Date d'inscription
jeudi 30 octobre 2003
Statut
Membre
Dernière intervention
15 juin 2007
2
tu devrais regarder dans les sources du site, il y a plein d'exemples pour communiquer avec le com en rs232

regarde plus particulierement l'api CreateFile et WriteFile
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
Messages postés
107
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2004

oui j'ai vue mais il n' ya ps un programme en c procédurale simple. Tu me donner les grandes lignes de faire avec le c procédurale?
c'est quoi cette histoire d'interception des interrupts calls par win2000
Messages postés
107
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2004

c'est quoi les threads que tu as utilisés dans dans ton programme ymca2003 ?
tu as indiquer qu'i peut y avoir une perte de données est ce que c'est vrai que pour les fichiers ou même pour une chîne de caractères?
et est ce que cette perte subsisters toujours même si si je fais le contôle du flux mécaniquement(intervention sur le cablage du cable rs232) cette perte
Messages postés
107
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2004

c'est quoi les threads que tu as utilisés dans dans ton programme ymca2003 ?
tu as indiquer qu'i peut y avoir une perte de données est ce que c'est vrai que pour les fichiers ou même pour une chîne de caractères?
et est ce que cette perte subsisteras toujours même si je fais le contôle du flux mécaniquement (intervention sur le cablage du cable rs232) ?

tu veux bien m'indiquer la partie du code que je peux modifier pour aboutir à un programme en c procédurale sinple? MERCI BEAUCUOP
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
j'utilise des threads pour ne pas bloquer l'interface graphique pendant l'émission/réception de données importantes(fichiers de plusieurs Ko).

La perte de données peut arriver pour de très grand taux de transfert s'il y a beaucoup de programmes actifs (le buffer mis en place déborde car on ne récupère pas à temps les données). Mais bob avec les fréquences des processeurs actuels et les taux de transferts "normaux" (9600 baups), il y a aucun risque.

le 1er exemple (BASE COMM RS232) est écrit en C et tu peut partir de là pour écrire ton protocole de comm avec les port (envoyer des données, attendre pdt un certain temps la réponse)