Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [c++] problem z wprowadzaniem danych
1010
post
Post #1





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

Ostrzeżenie: (0%)
-----


witajcie, mam taki problem

mam funkcję o takich argumentach:

  1. void funkcja(char *nazwa, char *opis){
  2. //
  3. }


i jak chce ja wywołać to mogę zrobić:

  1. int main(){
  2. char *nazwa = "jakas wartosc";
  3. char *opis = "opis";
  4.  
  5. funkcja(nazwa, opis);
  6. }


i wszystko działa, jednak jeśli chcę, żeby dane mógł wprowadzać użytkownik to nie wiem jak to zrobić, bo musiałbym zrobić

  1. char nazwa[50], opis[50]; //lub jakos podobnie?
  2.  
  3. cin >>nazwa;
  4. cin >>opis;
  5. funkcja(&nazwa, &opis);


ale wtedy jest konflikt typów, właśnie przez to 50. Jak takie coś rozwiązać?

Domyślam się, że może tutaj chodzić o dynamiczną alokację pamięci, jednak nie wiem jak to rozwiązać.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Ilware
post
Post #2





Grupa: Zarejestrowani
Postów: 248
Pomógł: 31
Dołączył: 14.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


tak, mniej więcej tak

tutaj jest kod pisany z palca,ale powinien chyba działać

  1. #include <iostream>
  2. #include <cstring>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. void funkcja( char * first, char * second ){
  8. cout<< *first<<"\n"<<*second;
  9. }
  10.  
  11. int main(int argc, char *argv[])
  12. {
  13. string a,b;
  14. cin>>a;
  15. cin>>b;
  16.  
  17. funkcja( (char *)a.c_str(), (char *)b.c_str() );
  18. system("PAUSE");
  19. return EXIT_SUCCESS;
  20. }


Ten post edytował Ilware 30.05.2011, 23:31:03
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 13:41