如标题中所述,我有一个函数“load”,返回一个包含2个int和一个字符数组的结构。此数组位于1D上,如下所示:[################ ### $ $ ####。####。 #。@ ### $#* ### ###############]我想把它打印成:
##########
###### ##
# $ $ ##
# # .# ##
# . #.@ #
##$# * #
## ######
##########
知道宽度在这里10.所以我的问题是如何,每10个字符,设法回到下一行...?这是我到目前为止所写的:
void print_map(map map_loaded){
char *p=map_loaded.p_char;
int height=map_loaded.height;
for(int i=0; i<height; i++){
printf("%c", *p[i]);
}
正如你所看到的,我只知道如何阅读每一个角色,但我不知道如何重新排队...如果有人能阅读我的代码并给我他/她的反馈,我真的很感激......谢谢提前 !
因为你需要的是每10个字符之后的新行,只需检查自新行的最后一个字符后是否打印了10个字符。
void print_map(map map_loaded){
char *p=map_loaded.p_char;
int height=map_loaded.height;
for(int i=0; i<height; i++){
printf("%c", p[i]);
if( (i+1)%10==0)
printf("\n");
}