Son kullanma tarihi geçmiş, bayatlamış bir tarayıcı kullanıyorsanız, Mercedes kullanmak yerine tosbağaya binmek gibi... Web sitelerini düzgün görüntüleyemiyorsanız eh, bi' zahmet tarayıcınızı güncelleyiniz. Modern Web standartlarını karşılayan bir tarayıcı alternatifine göz atın.
Hocam son olarak bu kodda scanf'ler için sadece ''%s'' yerine ''%[^\n]'' kullanınca tüm printf'lerin aynı anda yazdırma sebebi nedir ? Bunun sebebini de anlarsam içim rahat edecek. Demek istediğim ve herkesin sorduğu aynı anda prinf'lerin yazması dediğim olay bu:
Hocam son olarak bu kodda scanf'ler için sadece ''%s'' yerine ''%[^\n]'' kullanınca tüm printf'lerin aynı anda yazdırma sebebi nedir ? Bunun sebebini de anlarsam içim rahat edecek. Demek istediğim ve herkesin sorduğu aynı anda prinf'lerin yazması dediğim olay bu:
Lütfen 2021 yılında metin işleme için if-else kullanmayı bırakın ve "otomat teorisi" dediğimiz şeyi öğrenin. 10 karakterlik bir metin anlaşılabilir, fakat 65535 karakterli bir metni nasıl for döngüsüyle işleyeceksiniz? /*Regex name checker, TerabyteForever*/ #include #include #include int...
www.technopat.net
Ama C dilinde bir satırın '\n' dediğimiz yeni satır bitirecine (new line terminator) kadar süreceğine derleyiciyi yapan kişiler karar verir, yani belki GNU C'de ya da MSVC'de yoktur ama diğer derleyicilerde bu kod sıkıntısız çalışır.
C dilinde kullanıcı girdisi almak ciddi bir eziyet. Örneğin şu an yaptığın sistem bir buffer'a sadık kalacak şekilde çalışmak zorunda, öteki türlü "buffer overflow" dediğimiz sıkıntı oluşur. Bu yüzden ben döngü içerisinde fgets() ile stdin'den bilgi almayı daha doğru buluyorum.
C:
#include <stdio.h>
#include <stdlib.h>
int main(){
char buf[100];
while(1){
if(!fgets(buf,sizeof(buf),stdin)){ //End of file -> dosya sonu
break;
}
printf("%s",buf);
}
return 0;
}
Lütfen 2021 yılında metin işleme için if-else kullanmayı bırakın ve "otomat teorisi" dediğimiz şeyi öğrenin. 10 karakterlik bir metin anlaşılabilir, fakat 65535 karakterli bir metni nasıl for döngüsüyle işleyeceksiniz? /*Regex name checker, TerabyteForever*/ #include #include #include int...
www.technopat.net
Ama C dilinde bir satırın '\n' dediğimiz yeni satır bitirecine (new line terminator) kadar süreceğine derleyiciyi yapan kişiler karar verir, yani belki GNU C'de ya da MSVC'de yoktur ama diğer derleyicilerde bu kod sıkıntısız çalışır.
C dilinde kullanıcı girdisi almak ciddi bir eziyet. Örneğin şu an yaptığın sistem bir buffer'a sadık kalacak şekilde çalışmak zorunda, öteki türlü "buffer overflow" dediğimiz sıkıntı oluşur. Bu yüzden ben döngü içerisinde fgets() ile stdin'den bilgi almayı daha doğru buluyorum.
C:
#include <stdio.h>
#include <stdlib.h>
int main(){
char buf[100];
while(1){
if(!fgets(buf,sizeof(buf),stdin)){ //End of file -> dosya sonu
break;
}
printf("%s",buf);
}
return 0;
}
Hocam son olarak bu kodda scanf'ler için sadece ''%s'' yerine ''%[^\n]'' kullanınca tüm printf'lerin aynı anda yazdırma sebebi nedir ? Bunun sebebini de anlarsam içim rahat edecek. Demek istediğim ve herkesin sorduğu aynı anda prinf'lerin yazması dediğim olay bu: