VC++一个算法问题现在CString 类型的数组g_sendFile[i],存储着E:\nm\area\src\area.txt,E:\nm\school\src\school.txt 这样类型的变量,现在我要写一个函数,去掉盘符,并且把\转换成/ 符号,例如:E:\nm\area\src\area.txt
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/03 22:20:16
![VC++一个算法问题现在CString 类型的数组g_sendFile[i],存储着E:\nm\area\src\area.txt,E:\nm\school\src\school.txt 这样类型的变量,现在我要写一个函数,去掉盘符,并且把\转换成/ 符号,例如:E:\nm\area\src\area.txt](/uploads/image/z/8955524-20-4.jpg?t=VC%2B%2B%E4%B8%80%E4%B8%AA%E7%AE%97%E6%B3%95%E9%97%AE%E9%A2%98%E7%8E%B0%E5%9C%A8CString+%E7%B1%BB%E5%9E%8B%E7%9A%84%E6%95%B0%E7%BB%84g_sendFile%5Bi%5D%2C%E5%AD%98%E5%82%A8%E7%9D%80E%3A%5Cnm%5Carea%5Csrc%5Carea.txt%2CE%3A%5Cnm%5Cschool%5Csrc%5Cschool.txt+%E8%BF%99%E6%A0%B7%E7%B1%BB%E5%9E%8B%E7%9A%84%E5%8F%98%E9%87%8F%2C%E7%8E%B0%E5%9C%A8%E6%88%91%E8%A6%81%E5%86%99%E4%B8%80%E4%B8%AA%E5%87%BD%E6%95%B0%2C%E5%8E%BB%E6%8E%89%E7%9B%98%E7%AC%A6%2C%E5%B9%B6%E4%B8%94%E6%8A%8A%5C%E8%BD%AC%E6%8D%A2%E6%88%90%2F+%E7%AC%A6%E5%8F%B7%2C%E4%BE%8B%E5%A6%82%EF%BC%9AE%3A%5Cnm%5Carea%5Csrc%5Carea.txt)
VC++一个算法问题现在CString 类型的数组g_sendFile[i],存储着E:\nm\area\src\area.txt,E:\nm\school\src\school.txt 这样类型的变量,现在我要写一个函数,去掉盘符,并且把\转换成/ 符号,例如:E:\nm\area\src\area.txt
VC++一个算法问题
现在CString 类型的数组g_sendFile[i],存储着E:\nm\area\src\area.txt,E:\nm\school\src\school.txt 这样类型的变量,现在我要写一个函数,去掉盘符,并且把\转换成/ 符号,例如:E:\nm\area\src\area.txt 变成 /nm/area/src/area.txt
修改后的变量,需要存到g_RemoteFile[i]里
VC++一个算法问题现在CString 类型的数组g_sendFile[i],存储着E:\nm\area\src\area.txt,E:\nm\school\src\school.txt 这样类型的变量,现在我要写一个函数,去掉盘符,并且把\转换成/ 符号,例如:E:\nm\area\src\area.txt
CString串可以当作char s[]来处理.
1、从s[0]开始,查找冒号":",找到后,此位置当作返回串的首地址.
2、继续往后找,找到"\"就更换为"/",知道串尾.
/*
s1改动前:E:\nm\area\src\area.txt
s1改动后::/nm/area/src/area.txt
s2改动前:E:\nm\school\src\school.txt
s2改动后::/nm/school/src/school.txt
Press any key to continue
*/
#include <stdio.h>
char *Change(char s[]) {
\x05int i = 0,pos = 0;
\x05while(s[i]) {
\x05\x05if(s[i] == ':') {
\x05\x05\x05pos = i;
\x05\x05\x05break;
\x05\x05}
\x05\x05++i;
\x05}
\x05while(s[i]) {
\x05\x05if(s[i] == '\\') { // 不能用'\'
\x05\x05\x05s[i] = '/';
\x05\x05}
\x05\x05++i;
\x05}
\x05return s + pos;
}
int main() {
\x05char s1[] = "E:\\nm\\area\\src\\area.txt";
\x05char s2[] = "E:\\nm\\school\\src\\school.txt";
\x05printf("s1改动前:%s\n",s1);
\x05printf("s1改动后:%s\n",Change(s1));
\x05printf("s2改动前:%s\n",s2);
\x05printf("s2改动后:%s\n",Change(s2));
\x05return 0;
}