CCS C string alan fonksiyon tanımlayamama

Başlatan Seferi, 08 Ocak 2019, 00:10:05

Seferi

Merhaba string alan bir fonksiyon tanımlamaya çalışıyorum ama bir türlü programı çalıştıramadım. Bu konuyla ilgili  forumda konular var ama bir çözüm göremedim.
void string_yolla(char *s)
{
   while(*s)
      fputc(*s++,PC);
}
string_yolla("denem");

Bu şekilde bir string alan bir fonksiyon tanımladığım da "Attempt to create a pointer to a constant" hatasını alıyorum. Kodun yazmadığım bölümlerinde sorun yok. Zaten kod uzun değil seri porttan karakter yolluyordum. String yollamak için hazır fonksiyonlar yerine bu fonksiyonu kullanmak istiyorum.

OptimusPrime

void string_yolla(const char *s)
ise yarayablir veya
"denem" i bi degiskenin icine atip sonra
string_yolla(degisken); i cagirabilirsin.
https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||

fide

String göndermek yerine stringin hafızadaki adresinin başlangıç yerini gönder. Pointer kavramına yabancı değilsin. Burda da kullan.
Her birimiz, geride bıraktığımız eserler kadar ölümsüzüz. Evlat gibi, talebe gibi, icatlar gibi...   http://fidenetgaraj.blogspot.com

RaMu

Forumda bende sormuştum zamanında konuyu bulursam linkini eklerim.
İki çözümü var biri ramden yiyor saçma bir çözüm oluyor pass constants to ram gibi bir şeydi.

Asıl çözüm sabit diziyi ve kullanacak fonksiyonu
rom char
diye tanımlamak, aşağıdaki linkte ccsc ile birebir yapmaya çalıştığın için örnek var:
https://rmtulay.wordpress.com/category/ccsc/ccsc-rom-dizilerine-pointer-atama/
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Pyrodigy

Text için bir string tanımlarsın. (Burada nasıl text stringi tanımlama yapacağını bildiğini varsayıyorum)
Sonra string in başlangıç pointerini alıp Null karakteri görene kadar gönderecek yada alacak bir fonk. yazarsın.
Hepsi bukadar
Persistance is the name of the game in this business....

FeelYourMind

#5
void string_yolla(const char *s)
{
   while('\0' != (*s))
   {
      fputc(*s++,PC);
   }
}
string_yolla("denem");

Bu şekilde dene çalışacaktır.