1
我已經編寫了一個從用戶處獲取文本文件的程序。每行打印60個字符
那麼它應該打印60個字符,然後在時間上開始一個新行,然而,即使它的工作原理
有些話超過該上限,然後將其切斷字到一半,然後再次啓動
在一條新的線上。所以我需要我的程序基本上找出
這個詞是否適合60個字符的限制,所以沒有單詞被分割。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char ch, file_name[25];
FILE *fp;
printf("Enter file name: \n");
scanf("%24s" ,file_name);
if ((fp = fopen(file_name,"r")) == NULL){
perror("This file does not exist\n");
exit(EXIT_FAILURE);}
int c, count;
count = 0;
while ((c = fgetc(fp)) != EOF) {
if (c == '\n')
putchar(' ');
else
putchar(c);
count++;
if (count == 60) {
putchar('\n');
count = 0;
}
}
putchar('\n');
fclose(fp);
}
無關,但你的代碼有一個緩衝區溢出 – mooiamaduck
「無字拆了」。好的,所以你需要寫下一個字是什麼。那麼什麼定義了一個詞的開始和結束。然後,您可以識別第60個字符是否在單詞內。 –
..或者寫下一個字不是。一個定義可能是「一個詞不包含空格」。 –