fgetws读出的文件路径,后面多了一个0A
fgetws从txt中读出的文件路径,后面多了一个0A,所以一直无法创建文件。。。
[解决办法]
原因在于你把换行符也读进来了,去掉就好了。
[解决办法]
不要这样改,可以专门写个trim函数来去掉头尾的空白的字符。
参考我的博文(http://blog.csdn.net/turingo/article/details/8314263)。
# /* 从配置行提取文件名 */
# static char* extract_file_name(const char* line, char* file_name)
# {
# /* 过滤配置行左边的空格符 */
# while(isspace(*line++)){};
# line--;
# /* 忽略空行和注释行 */
# if((*line == '\0')
[解决办法]
(*line == ';'))
# return NULL;
#
# /* 提取文件名,并去掉右边的空格符 */
# strcpy(file_name, line);
# {
# char* p = file_name + strlen(file_name) - 1;
# while(isspace(*p--)){};
# p++;
# p++;
# *p = '\0';
# }
#
# return file_name;
# }
[解决办法]
wchar_t ws[256];
...
while (1) {
if (NULL==fgetws(ws,256,f)) break;
if (L'\n'==ws[wcslen(ws)-1]) ws[wcslen(ws)-1]=0;
wprintf(L"[%s]\n",ws);
}
[解决办法]
char * rtrim(char * str)
{
int n = strlen(str)-1; while (n>0)
{
if ( * (str + n) 1 =' ')
{
* (str+n+1) = '\0' ;
break ;
}
else
n--;
}
return str;
}