Int na char – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Int na char – C / C++ – Fórum – Programujte.comInt na char – C / C++ – Fórum – Programujte.com

 

filEPina0
Duch
21. 8. 2009   #1
-
0
-

ahoj lidi. měl jsem delší příspěvek, ale dal jsem "náhled" a "zpět" a nebyl tam žádný náhled a příspěvek byl taky pryč. mám funkci

void prehrat(int cislo)

{
char cesta[]={cislo,'.','m','i','d','\0'};
system(cesta);
}

má přehrát očíslovaný mid soubor. jenomže ten int se převádí na char tím super ascii způsobem. tak nevím jak to mám nakonverzovat aby se to nekonvertovalo. a pak ještě nejspíš bude problém ještě když bude číslo třeba 10, protože je přes dvě místa. tak vás chci poprosit, jestli byste mi nenapsali ten kód nějak funkčnějc, jsem to zkoušel dát do string a atio a itoa, ale nikdy se mi to nepovedo dotáhnout až k tomu, že by mi to system sežral. doufám že to není úplná jednoduchá kravina, která se tu řešila stokrát

Nahlásit jako SPAM
IP: 85.92.34.–
KIIV
~ Moderátor
+43
God of flame
21. 8. 2009   #2
-
0
-

zalezi na tom jestli ho chces jako little nebo big endian
jinak by to vypadalo napriklad { cislo>>24, cislo>>16, cislo>>8, cislo, .... (pripadne hodit i explicitni pretypovani)

nebo snadnejsi ale rizikovejsi cesta char * pointer = (char * ) cislo; ... = { pointer[3], pointer[2], pointer[1], pointer[0], ... } ale tady uz opravdu musis moc dobre znat, jak je v pameti to cislo ulozene.. u predchoziho na tom nesejde

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
t0m450
Newbie
21. 8. 2009   #3
-
0
-

možno by to šlo takto:

#include <iostream>

#include <string>
#include <sstream>
using namespace std;

void prehrat(int cislo)
{
stringstream ss;
string str;
ss << cislo;
ss >> str;

str += ".mid";
const char* cesta = str.c_str();
system(cesta);
}

EDIT: už by to malo isť, trošku som sa sekol

Nahlásit jako SPAM
IP: 85.237.233.–
filEPina0
Duch
21. 8. 2009   #4
-
0
-

to se jim taky nelíbí dali mi error C2065: 'cesta' : undeclared identifier. btw. to je program pro trénink rozpoznávání hudebních intervalů, první si člověk zvolí základní tón a nebo si ho nechá vygenerovat, pak si zvolí rozsah odkudy pokudy se mají intervaly brát a pak se náhodně nějaký z nich vybere ty dva se přehrajou a on pak napíše číslem jaký to byl a to se vyhodnotí jestli to byla pravda. ještě hodlám udělat aby se před přehráním třeba 10.mid přejmenoval třeba na ahoj.mid a pak zase zpátky aby si nikdo nezapamatoval které číslo má který tón, protože se to ve windows media playeru zobrazuje. no to zvládnu, jenom pořád nemůžu přijít na to, jak spustit "1.mid" když mám v int jedničku

Nahlásit jako SPAM
IP: 85.92.34.–
KIIV
~ Moderátor
+43
God of flame
21. 8. 2009   #5
-
0
-

To filEPina : jo ty chces jen prevod cisla na retezec..
to neni zrovna "int" na "char"

rika se tomu int to str.. napriklad tady jsou priklady .. ale je to vesmes to same jak psal t0m

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
filEPina0
Duch
21. 8. 2009   #6
-
0
-

já to beru jako řetezec z charů a já chci změnit ten jeden char a chci do ňho dát ten int, takže int do char. tady jsou příklady? no jestli to mám udělat podle tOma tak jak to mám upravit abych neměl undeklarovaný identifier cesta. já sem zkoušel dát cesta jako string ale moc sem si nepomoh

Nahlásit jako SPAM
IP: 85.92.34.–
KIIV
~ Moderátor
+43
God of flame
21. 8. 2009   #7
-
0
-

pokud chces jen jeden znak tak '0' + (char)cislo;

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 141 hostů

Podobná vlákna

Char na int — založil vollf82

Int vs. char, chyba programu — založil volnaduse

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý