Repeat a string: Difference between revisions

no edit summary
(→‎{{header|D}}: add example of repeating a single character)
No edit summary
Line 27:
char * string_repeat( int n, const char * s ) {
size_t slen = strlen(s);
char * dest = (char *)calloc(n*slen+1, sizeof(char));
 
int i; char * p;
Line 38:
int main() {
printf("%s\n", string_repeat(5, "ha"));
return 0;
}</lang>
 
To repeat a single character
<lang c>#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
char * char_repeat( int n, char c ) {
char * dest = (char *)calloc(n+1, sizeof(char));
memset(dest, c, n);
return dest;
}
 
int main() {
printf("%s\n", char_repeat(5, '*'));
return 0;
}</lang>
 
Line 54 ⟶ 71:
int main( ) {
std::cout << repeat( "Ha" , 5 ) << std::endl ;
return 0 ;
}</lang>
 
To repeat a single character:
<lang cpp>#include <string>
#include <iostream>
 
int main( ) {
std::cout << std::string( 5, '*' ) << std::endl ;
return 0 ;
}</lang>
Line 59 ⟶ 85:
=={{header|C sharp|C#}}==
<lang csharp> String s = "".PadLeft(5, 'X').Replace("X", "ha")</lang>
 
To repeat a single character:
<lang csharp> String s = "".PadLeft(5, '*')</lang>
 
=={{header|Clojure}}==
Line 128 ⟶ 157:
 
<lang haskell>cycle "ha"</lang>
 
To repeat a single character:
 
<lang haskell>replicate 5 '*'</lang>
 
=={{header|J}}==
Line 197 ⟶ 230:
Array.fold_left (^) "" (Array.make n s)
;;</lang>
 
To repeat a single character:
<lang ocaml>String.make 5 '*'</lang>
 
=={{header|Oz}}==
Line 253 ⟶ 289:
 
=={{header|Scheme}}==
{{works with|?}}
<lang scheme>(define (string-repeat n str)
(fold string-append "" (make-list n str)))
(string-repeat 5 "ha") ==> "hahahahaha"</lang>
 
To repeat a single character:
<lang scheme>(string-make 5 #\*)</lang>
 
=={{header|Tcl}}==
Anonymous user