我正在编写一个代码,如果我的数组不以空格结尾,则代码的行为会有所不同。我想检查最后是否有空格。如果没有,那么我想在数组的末尾附加一个空格。这是数组的代码。
char* buffer[1024];
fgets(buffer,1024,fp);
char* str = buffer+2; // don't need the first two characters
char* pch;
pch = strtok(str," ");//I am dividing the string into tokens as i need to save each word in a separate variable
.
.
.
所以我的问题是,首先,我如何检查最后一个字符str
是否是空格?其次,如果它不是空格,我如何附加空格?
我已经尝试过strcat
,但我认为问题是我仍然不知道如何知道最后一个字符是否是空格。我知道这一切都可以通过字符串和向量轻松完成。但我想要我的代码的解决方案。谢谢!
编辑:这是分割行和计算字数的代码。
//At the end of this while loop. ncol will contain the number of columns
while(1){
fgets(buffer,1024,fp);
if (buffer[1] == 'C'){ // the line is #C 1 2 3 4 5 6 7 8 9 10 11 12 13
char* str = buffer+2;
int n = strlen( str );
if(n == 0 || str[n-1] != ' ') {
str[n] = ' ';
str[n+1] = '\0';
}
char* pch;
pch = strtok(str," ");
while(pch != NULL){
ncol++;
pch = strtok (NULL, " ");
}
}
if(buffer[0] == '#'){
numHeader++;
}
else {break;}
}