comment cette ponctuation travail correcter :: si j'ai cette ligne:correcteur de ponctuation?
hi.how are u?i'm good;ok bye.
le correcter devrait me donner cette ligne:
hi. How are u? I'm good; ok bye.
comment ce travail: premier après tout {. ou ou ; ou ? } il devrait mettre un espace et capitaliser la lettre après?
en C
MISE À JOUR
#include<stdio.h>
#include<string.h>
#define LINE_LEN 300
void strip(char *);
char toCap(char);
char toSml(char);
int main(int argc, char *argv[]){
char line[LINE_LEN];
int counter = 0;
int line_length;
int i;
char outline[LINE_LEN];
if(argv[1] == NULL){ //check if the file exists or not
printf("ERROR: FILE NOT FOUND!\n");
return -1;
}
FILE *inp;
FILE *output;
inp = fopen(argv[1],"r");
output = fopen("Clear_Data.txt","w");
while(fgets(line,LINE_LEN,inp) != NULL){
strip(line);
line_length = strlen(line);
for(i = 0; i < line_length ; i++)
line[i] = toSml(line[i]);
for(i = 0; i < line_length ; i++){
if(line[i] == '.' || line[i] == ',' || line[i] == ';' || line[i] == '?'){
if(line[i+1] == ' ')
outline[i+2] = toCap(line[i+2]);
else{
outline[i+1] = ' ';
outline[i+2] = toCap(line[i+1]);
}
continue;
}
else
outline[i] = line[i];
}
fprintf(output,"%s",outline);
}
fclose(inp);
fclose(output);
return 0;
}
void strip(char *str){ //remove extra whitespaces in a string
int r = 0; //next character to be read
int w = 0; // next character to be written
while(str[r]){
if (str[r] == ' ' || iscntrl(str[r])){
if (w > 0 && str[w-1] != ' ')
str[w++] = ' ';
}
else
str[w++] = str[r];
r++;
}
str[w] = 0;
if(str[strlen(str) - 1] == ' ')
str[strlen(str) - 1] = 0;
printf("%s\n",str);
}
char toCap(char c){
return (c - 32);
}
char toSml(char c){
return (c + 32);
}
mais cela ne fonctionne pas d'aide maintenant ??
Lorsque votre question est fermée, vous devez l'améliorer, et pas seulement la poster à nouveau. – ypnos
j'ajoute quoi exactement ma question ,, pas seulement le poster encore, ce que vous avez besoin de plus je vais le mettre ,, ?? –
Veuillez donner une explication plus claire. Oui, il devrait y avoir un espace après la ponctuation et mettre en majuscule la lettre après. Est-ce ce que vous voulez demander? –