fscanf, fseek problemen

Status
Niet open voor verdere reacties.

Jayster2

Gebruiker
Lid geworden
3 nov 2008
Berichten
39
Hallo, Hallo :thumb:

Ik ben dus met een simpele prog bezig wat informatie bijhoudt en ik op elk moment kan opvragen ( door het in de bin te zetten op mn linux machine ). Ik wil dat het programmatje bij de eerste keer laden een config file maakt, en als dat gedaan is daarop inspeelt. Dat houdt in, de verschillende dingen die in een txt bestand staan in te laden. Nu ben ik wederom tot een probleem gekomen, waarschijnlijk meerdere want mijn errorlog is groter dan de bijbel, iniedergeval, het ziet er zo uit:

Code:
#include <iostream>
#include <string>
#include <stdlib.h>
#include <stdio.h>
using namespace std;

int main ( int argc, char *argv[] ) {
	string usage ( "\nblabla\n" );
	if ( argc != 2 ) {
		cout << usage;
	}
	else {
	// variables
	char vMac[10];
	char vIp[20];
	char vName[15];

		FILE * pFile;	// text bestand laden
  		pFile = fopen ( "myfile.txt" , "w+" );
		if (pFile != NULL) {	// checken of het leeg is
			fscanf (pFile, "%s", vMac); // de eerste zin tot whitespace char laden en assignen naar vMac, werkt niet.
			if (!strcmp(argv[1], "mac")) {
				cout << vMac;
			}
			if (!strcmp(argv[1], "ip")) {
				cout << vIp;
			}
			if (!strcmp(argv[1], "name")) {
				cout << vName;
			}
			else {
				cout << "else\n";
			}
		}
		else {
			cout << "\nConfig file needs to be made...\nWhat is your wireless MAC adress?";
			cin.get(vMac);
			fputs (vMac , pFile);
			fseek (pFile , 12 , SEEK_SET);    // omdat vIP word geschreven op de 12e 'plaats', na vMac in pFile.
			cout << "\nWhat is your local ip adress?";
			cin.get(vIp);
			fputs (vIp , pFile);
			fseek (pFile , (14 + (int vIp.size())) , SEEK_SET); // berekend hoeveel cijfers het ip adres is en weet daarna dus hoever de seek_set moet zijn... werkt niet.
			cout << "\nWhat is your name?";
			cin.get(vName);
			fputs (vName , pFile);
			cout << "Done! You should restart, really...";
			return 0;
		}
	}
	return 0;
}

hier m'n errors

Code:
compiling C++ using -ansi -pedantic-errors -Wall
sys.c: In function ‘int main(int, char**)’:
sys.c:23: warning: format ‘%s’ expects type ‘char*’, but argument 3 has type ‘char* (*)[10]’
sys.c:39: error: expected primary-expression before ‘%’ token
sys.c:39: error: ‘s’ was not declared in this scope
sys.c:40: error: cannot convert ‘char**’ to ‘const char*’ for argument ‘1’ to ‘int fputs(const char*, FILE*)’
sys.c:43: error: expected primary-expression before ‘%’ token
sys.c:44: error: cannot convert ‘char**’ to ‘const char*’ for argument ‘1’ to ‘int fputs(const char*, FILE*)’
sys.c:45: error: request for member ‘size’ in ‘vIp’, which is of non-class type ‘char* [20]’
sys.c:47: error: expected primary-expression before ‘%’ token
sys.c:48: error: cannot convert ‘char**’ to ‘const char*’ for argument ‘1’ to ‘int fputs(const char*, FILE*)’
:confused:

Enige tips op aspecten die niets met mijn probleem te maken hebben zijn ook graag gewaardeerd !

,Jayster2
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan