les appels système en C

J'ai une fonction en C qui appelle un autre logiciel pour exécuter et de générer un fichier puis son manipule les données, par exemple

void main()
{
function();
//manipulate data in output.txt
}    
void execute()
{
system("./test input.txt output.txt");
}

pour une raison quelconque, le output.txt le fichier n'est pas généré par plein...comment fonctionne le système d'appel? exécutera retour à principal système avant la fin de l'appel? si oui comment puis-je résoudre ce problème? Je travaille sur ubuntu à l'aide de gcc

  • le système doit être en attente pour le passé en commande à la fin. Peut-être une erreur se produit dans ./test? Vous pouvez consulter la valeur de retour de système pour vérifier (si vous aurez à consulter le Ubuntu de référence pour voir quelles sont les valeurs indiquent quoi.)
  • Sachez que ./ signifie par rapport au répertoire de travail courant, et non pas le répertoire contenant votre fichier binaire.
  • il est également bon de mentionner que lors de l'input.txt est fichier de petite taille, il fonctionne très bien, mais quand input.txt est grand, c'est comme certaines données n'est pas en cours de traitement....lorsque j'exécute le code en dehors du code, il fonctionne correctement alors j'ai pensé que c'est à partir de l'appel système
InformationsquelleAutor Syntax_Error | 2011-05-18