我在嘗試大寫第一個字母。這些字符是從文本文件中讀取的。不幸的是,我不能。我讀了一個想法,它說添加兩個布爾變量,它們可以是int類型的:噹噹前字符是單詞的一部分時,一個變量將保持1,而當前一個字符是單詞的一部分時,另一個變量將保持1。但是,我怎麼知道char是否是單詞的一部分呢?大寫文件中的第一個字母
#include <stdio.h>
void cpt(char x[]);
int main(){
cptlz("in.txt");
return 0;
}
void cptlz(char x[]){
char ch;
int currentch,
previouschar,
st=1;
FILE *fptr_in;
if((fptr_in=fopen(x,"r"))==NULL){
printf("Error reading file\n");
}
else{
while(st==1){
st=fscanf(fptr_in,"%c",&ch);
if (ch >= 'a' && ch <= 'z'){
printf("%c",ch-32);
}
else
printf("%c",ch);
}
}
}
我建議你閱讀['fgets'](http://en.cppreference.com/w/c/io/fgets),['isspace'](http://en.cppreference。 com/w/c/string/byte/isspace)和['toupper'](http://en.cppreference.com/w/c/string/byte/toupper)。 – 2014-10-28 12:07:40
一個簡單的方法是檢查前面的char是否是空格,換行符,特殊charakter,並且當前是一封信......這意味着您處於一個單詞的開頭(請小心,也是「。 ..一個詞「woukd導致」...一個字「) – Robert 2014-10-28 12:08:35
想一想。首先確定哪些字符在文字中找到,哪些不是。 – 2014-10-28 12:08:43