עבור לתוכן

עזרה בפרוייקט בC ):

Featured Replies

פורסם

היי!,

אני מנסה לכתוב פונקציה בC (Win32 console) שתקבל פויינטר מהMAIN מסוג צ'אר, תבקש מהמשתמש סיסמא, ותקצא לפויינטר שהיא קיבלה מקום בדיוק לפי מספר התאים שתופסת הסיסמא, לאחר מכן תעשה השמה לתוך הפויינטר של הסיסמא.

זה מה שיש לי עד כה:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

int NewPass(char* pass[200])
{
char temppass[200]=NULL;
int i=0;
*pass=NULL;

printf("Please Enter a new password:\n");
fflush(stdin);
gets(temppass);

//printf("Please select how many attempts do you want to accomidate the user with:\n");
//scanf("%d",&n);


pass = (char*) malloc((strlen(temppass)+1)*sizeof(char));

strcpy(pass,&temppass);
}

void main()
{
char* password;

NewPass(&password);

puts(*password);
}

כאשר אני מריץ את הדיבאגר הוא טוען ש pass

הוא פויינטר לא תקין.

מישהוא יודע מה הסיבה? יכול להיות שאני עושה את זה לגמריי לא נכון??

תודה!!

פורסם

ערוך בבקשה את ההודעה שלך, ועטוף את הטקסט של הטג קוד (כפתור "הכנס קוד" למעלה, שנראה כמו #).

ככה ההודעה תהיה קריאה יותר.

ה-pass שהפונקציה מקבלת צריך להיות מטיפוס **char.

פורסם
  • מחבר

מה זה אומר? שההצרה בפונקציה צריכה להיות

NewPass(char** Pass) 

ולגבי שאר הסינטקס הוא תקין?

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים