05-04-2011, 11:24
|
|
|
חבר מתאריך: 15.07.02
הודעות: 1,027
|
|
בעיה עם פונקציית getline() בסי פלוס פלוס
שלום, יש לי עבודה להגיש בסי פלוס פלוס.
אני יוצר מערך דינאמי של אובייקטים כאשר בכל אובייקט יש מערך דינאמי של מערכים דינאמיים של char
עכשיו, אני מנסה לקלוט מילה מילה מהמשתמש (כולל הרווחים) בעזרת getline, העניין הוא שבקליטה הראשונה אין בעיה, אך בקליטה השנייה, האות הראשונה נעלמת מהקליטה! אין לי מושג מה אפשר לעשות על מנת להפסיק את התופעה? להלן קוד:
קוד:
for (i = 0; i < inter_number; i++) {
cout << "Please enter the " << i << " interpretation: ";
//cin.clear();
cin.ignore();
cin.getline(definition_input, 100);
returned_definition = remove_spaces(definition_input);
inter[i] = new char[size_string(returned_definition)];
copy_string(returned_definition, inter[i], size_string(returned_definition));
}
בדקתי עם דיבאגר, כבר בקילטה לתוך definition_input המלה נכנסת בפעם השניה בלי האות הראשונה.
_____________________________________
ציטוט:
Different people use different tools, but its mostly morons who pretend that the problems with PHP actually matter.
|
|