C/C++ - "Negative" 字符串转换为零
C/C++ - "Negative" string converted to zero
我有以下 .txt 文件:
{{1,2,3,0}, {1,1,1,2}, {0,−1,3,9}}
这是一个 3x4 矩阵。我正在使用 strtok
提取数字并保存在 float
矩阵上。问题是,当 p 得到 -1 时,它在保存在矩阵上时被转换为零。我该如何解决?
p = strtok(&matrix[0u], " {},");
for (i = 0; i < m + 1; i++){
for (j = 0; j < n + 1; j++) {
aux[i][j] = atoi(p);
if (p)
p = strtok(NULL, " {},");
}
}
是否有更好的方法一次提取一个数字?怎么样?
你的减号不起作用。比较:
- 这是 ASCII 减号
- 这 − 是您的字符 whixh 可能会被 Unicode 调用 "minus sign",但 C++ 库函数通常不会这样识别它
不要从 Word 文档等地方复制代码。如有疑问,请使用 iconv
或类似实用程序转换为 ASCII。
我有以下 .txt 文件:
{{1,2,3,0}, {1,1,1,2}, {0,−1,3,9}}
这是一个 3x4 矩阵。我正在使用 strtok
提取数字并保存在 float
矩阵上。问题是,当 p 得到 -1 时,它在保存在矩阵上时被转换为零。我该如何解决?
p = strtok(&matrix[0u], " {},");
for (i = 0; i < m + 1; i++){
for (j = 0; j < n + 1; j++) {
aux[i][j] = atoi(p);
if (p)
p = strtok(NULL, " {},");
}
}
是否有更好的方法一次提取一个数字?怎么样?
你的减号不起作用。比较:
- 这是 ASCII 减号
- 这 − 是您的字符 whixh 可能会被 Unicode 调用 "minus sign",但 C++ 库函数通常不会这样识别它
不要从 Word 文档等地方复制代码。如有疑问,请使用 iconv
或类似实用程序转换为 ASCII。