我想在要掃描的文檔類型從.ppm格式的文件,該文件是圖像文件,但遵循以下數據結構PPM掃描和打印
P3
4 4
255
255 255 0 255 255 0 255 255 0 255 255 0
255 255 0 255 0 0 128 128 128 255 255 0
255 255 0 0 255 0 0 0 255 255 255 0
255 255 0 255 255 0 255 255 0 255 255 0
每3點的整數標記的列,以便所述第一3行後,這標誌着第二行所示的4x4表的模式。
我的第一步是讀取這樣的文件,其中高度和寬度可以變化,然後使用scanf和printf以確切格式重新打印。
我在此嘗試如下:
scanf(" %d%d %d", &width, &height, &depth);
printf("P3\n%d %d\n %d\n", width, height, depth);
while(scanf("%c", &input) >= 1) {
for (int i = 0; i < width; i++) {
printf("%c %c %c ", input, input, input);
for (int j = 0; j < height; j++) {
printf("\n");
}
}
}
任何想法,我缺少的是什麼?
內循環多次打印換行。奇怪。 –
轉到第一行代碼。 「%d」之前的第一個空格不會跳過「」P3「文本。第二個空格是無關緊要的,因爲大多數格式說明符(包括'%d')總是跳過空行,如newline(一個共同的陷阱:不是'%c')。但是我很困惑,爲什麼隨後在提供整數數據時使用'%c'。當輸入爲「」255「格式時,」%c「將讀爲」2「。 –