Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

sapires

Retornar uma string

Mensagens Recomendadas

sapires    0
sapires

Boas, tenho este codigo:

#include <stdio.h>
#include <stdlib.h>

char tam_string(char string[11]); //Prototipo
    
int main()
{
     char string[30];
     getch(string);
     char tmp[11];
     tmp=tam_string(string);
     printf("%s",tmp);
     
  system("PAUSE");	
  return 0;
}
char tam_string(char string[11]){
     int i,tamanho,tmp2;
     char tmp[11];
     char espaco[11] = "           ";
     fflush(stdin);
     tamanho = strlen(string);
     if(tamanho>11){
     for(i=0;i<11;i++){
                       tmp[i]=string[i];
                      };
                      }
     else{
     for(i=0;i<=tamanho;i++){
                            tmp[i]=string[i];
                            };
     tmp2=13-tamanho;
     for(i=tamanho;i<=tmp2;i++){
                            tmp[i]=espaco[i];
                            };
     return (tmp);
}

eu preciso imprimir uma string com as 11 primeiras letras, se nao tiver onze, retornar as letras que tem e o resto em espaçoes, mas da-me erro, podem ajudar?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
sapires    0
sapires

int comprimento = 11;
printf("%.*s\n", comprimento, "abcdefghijklmnopqrstuvwxyz");

Funciona para strings maiores que 11 mas para strings menores que 11?

pk elas teem de ter sempre 11 caracteres.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pmg    102
pmg

Para string mais pequenas o tamanho é reduzido.

Mas podes imprimir espaços à esquerda (ou à direita com -) usando o tamanho máximo

int comprimento = 11;
printf("[%*.*s]\n", comprimento, comprimento, "abcdefg");
printf("[%-*.*s]\n", comprimento, comprimento, "abcdefg");

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade